Personal media channel apparatus and methods

ABSTRACT

Network content delivery apparatus and methods based on content compiled from various sources and particularly selected for a given user. In one embodiment, the network comprises a cable television network, and the content sources include DVR, broadcast, nPVR, and VOD. The user-targeted content is assembled into a playlist, and displayed as a continuous stream on a virtual channel particular to that user. User interfaces accessible through the virtual channel present various functional options, including the selection or exploration of content having similarity or prescribed relationships to other content, and the ability to order purchasable content. An improved electronic program guide is also disclosed which allows a user to start over, record, view, receive information on, “catch up”, and rate content. Apparatus for remote access and configuration of the playlist and virtual channel functions, as well as a business rules “engine” implementing operational or business goals, are also disclosed.

RELATED APPLICATIONS

This application is related to co-owned and co-pending U.S. patentapplication Ser. No. 12/______, filed contemporaneously herewith on Mar.30, 2009 and entitled “Recommendation Engine Apparatus and Methods” andwhich is incorporated herein by reference in its entirety.

COPYRIGHT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to the field of content delivery over a network.Specifically, in one exemplary aspect, the invention relates to methodsand apparatus for delivering content from a variety of sources in acable television or satellite network to a client device.

2. Description of Related Technology

Recent advances in content delivery technologies have led to theproliferation of different content sources carrying a wide variety ofcontent. A viewer may be easily overwhelmed by the presentation ofhundreds of broadcast channels, purchasable content channels (e.g., VOD,pa-per-view, etc.) and the like, offering programming 24 hours per day.A channel-by-channel search for specific content can be tedious andfrustrating to the user. With such an abundance of content offered, theuser may be unable to rapidly and easily locate content of interest atany one time.

Likewise, other technological advancements have brought into common useelectronic devices that allow users to record content received from abearer network (such as a cable television or satellite network),whether at their premises or another location within the network. Thesedevices include, inter alia, on digital video recorders (DVR), andpersonal video recorders (PVR). Access to content stored on recordingdevices farther increases the overabundance of content available to theuser.

Some existing methods for specifically providing content in which a usermay be interested, from among the large quantity and variety of contentavailable, include the utilization of demographic data and/or explicitviewer designation of particular content. For instance, a user may havehis/her content pre-selected (or at least the possibilities narrowed)based on their demographics, and/or explicit selections or preferencesof the user. However, these methods generate targeted content based onlyon the information a user specifically gives or enters into the system(or which can be gleaned from their subscriber account, etc.).

Various other solutions have been presented to assist a user in findingcontent of interest. These include, for example, the utilization of asearchable program guide such as that described in U.S. Pat. No.7,228,556 to Beach, et al., issued Jun. 5, 2007 and entitled“Distributed, Interactive Television Program Guide; System and Method”.Customizable program guides are also used in the prior art to providetargeted content to a user. These generally fit into two distinctcategories: those in which a user must enter preference data, and thosewhich are able to gather data about a user without user specification.The first category of customizable program guides, as stated, require auser to manually enter preference or other data, which can beinconvenient for the user, and incomplete depending on the level ofdetail. One example of the first category of customizable program guidesis described in U.S. Pat. No. 7,185,355 to Ellis, et al., issued Feb.27, 2007 and entitled “Program Guide System with Preference Profiles”.Exemplary prior art of the second category of customizable programguides includes U.S. Pat. No. 6,934,964 to Schaffer, et al., issued Aug.23, 2005 and entitled “Electronic Program Guide Viewing HistoryGenerator Method and System”.

Certain prior art describe creating a dedicated or virtual channel inwhich targeted content is displayed; however, a majority of the priorart generally relates only to linear television. Linear television is astandard television service wherein the viewer watches a scheduledprogram at the particular time it's offered. Linear television models donot take into account the use of DVR and other recording apparatus, aswell as other delivery paradigm including, for example, VOD andPay-Per-View.

Other systems create a dedicated or virtual channel by utilization of anon-demand server or by utilization of user-entered information.

Despite the foregoing variety of different delivery and interfacetechnologies associated with the delivery of content over a network,there is a salient need for improved apparatus and methods for providingcontent that: (i) a user is likely to have an interest in or enjoywatching, (ii) places no significant burden on the user (such as havingto enter preference information), and (iii) avoids the user having tosearch through the large quantity of available content. Such apparatusand methods would, in addition to efficiently delivering targetedcontent according to data and criteria gathered passively from useractions, also ideally afford a user the ability to receive the contentas one seamless stream on a virtual channel that was in effect dedicatedand tailored to that particular user.

Moreover, the presentation of content on such a virtual channel wouldtake into account non-linear television models (e.g., VOD, nPVR, “startover” features, etc.) as well as linear broadcast models, and could alsoaccess indigenous content (such as that disposed on a user's DVR orother premises device).

Additionally, the abovementioned apparatus and methods provide a userwith the ability to choose among various recommended content, andpresent the user with a navigable list of content prioritized accordingto a system which immediately takes into account the user's activities,and thereby derives an even more finely tuned profile.

These features would also be provided using substantially extant networkinfrastructure and components, and would be compatible with a number ofdifferent client device and delivery systems including wired, optical,and wireless technologies.

Further, the apparatus and methods of the present invention provideusers with access to a larger pool of content spanning an entiremultiple systems operator's product and/or service line. In other words,via the methods and apparatus discussed herein, a user is not limited toa pool of content by a single content provider, but may be able toaccess content from various content sources.

SUMMARY OF THE INVENTION

The present invention satisfies the foregoing needs by providingimproved apparatus and methods for the targeted delivery of content overa network. In a first aspect of the invention, a method of providingtargeted content obtained from a plurality of different sources to auser is disclosed. In one embodiment, the content is provided over acontent-based network (e.g., satellite or cable television network), andthe method comprises: receiving information regarding a plurality ofcontent; comparing the information to a set of criteria; selectingindividual ones of the plurality of content for provision to the userbased at least in part on the act of comparing; and providing theselected individual ones of the plurality of content to the user.

In one variant, the content sources are selected from the groupconsisting of: (i) an on demand content source; (ii) a broadcast programcontent source; (iii) a digital video recorder; (iv) a personal mediacontent storage device; and (v) a pay-per view content source.

In another variant, the information comprises metadata transmitted withand relating to individual ones of the plurality of content.

In yet another variant, the set of criteria comprises a user profilehaving information about the user relating to various aspects of thecontent. The act of comparing comprises e.g., examining aspects ofindividual ones of the plurality of content for similarity to thevarious aspects in the user profile, and the act of selecting individualones of the plurality of content for provision to the user based atleast in part on the act of comparing comprises storing informationrelating to individual ones of the plurality of content having athreshold level of similarity to the various aspects in the userprofile.

In another variant, the method further comprises using the storedinformation relating to individual ones of the plurality of content togenerate a list, the list comprising: content identificationinformation; content location; and content accessing information;

and wherein the list is prioritized based at least in part on the act ofcomparing the information regarding the plurality of content to the setof criteria. The act of providing the selected content to the usercomprises e.g.,: displaying a portion of the content identificationinformation to a user display; providing a mechanism for the selectionof individual ones of the content; utilizing at least the contentlocation and content accessing information to locate and access thecontent; and displaying the content to the user at the user display.

In still a further variant, the mechanism for selecting individual onesof the content comprises a user interface (UI), the user interfacecomprising a network-operated site.

In another variant, the act of providing the selected content to theuser comprises providing a virtual channel accessible by the user;providing a mechanism to utilize at least the content location andcontent accessing information to locate and access the content; anddisplaying the content to the user at the virtual channel; the contentis displayed in an order dictated by the list.

In a further variant, at least one of the content provided to the usercomprises purchasable content; and wherein the act of providing theselected content to the user comprises: providing the contentidentification information; allowing the selection of the purchasablecontent; providing at least one user confirmation for the purchase ofthe content; providing a mechanism to utilize at least the contentlocation and content accessing information to locate and access thecontent; and displaying the content to the user at the user display.

In another variant, the method further comprises modifying the userprofile based at least in part on at least one user action; e.g., addingdata regarding the at least one user action to the user profile. Thedata regarding the at least one user action is weighted depending on theclassification of the at least one user action.

In another variant, the user actions comprise at least one of a groupconsisting of: (i) viewing the content; (ii) navigating away from thecontent; (iii) recording the content; (iv) deleting the content; and (v)rejecting recommendations to view the content.

In a further variant, the method further comprises modifying the userprofile based at least in part on user feedback, the user feedbackcomprising instructions relating to the user's impression of theprovided content.

In a second aspect of the invention, a system for the delivery ofuser-specific content is disclosed. In one embodiment, the systemcomprises: a receiving apparatus, the receiving apparatus adapted toreceive data regarding a plurality of content; a processing apparatus,the processing apparatus adapted to generate a list of recommendedcontent from among the plurality of content; apparatus adapted toallocate a carrier to deliver the recommended content; and a displayapparatus, the display apparatus adapted to display the recommendedcontent.

In one variant, the plurality of content is received from a plurality ofcontent sources including at least two of; (i) an on-demand contentsource; (ii) a broadcast program content source; (iii) a digital videorecorder; (iv) a personal media content storage device; and (v) apay-per view content source.

In a second variant, the data regarding the plurality of contentcomprises metadata regarding various aspects of individual ones of theplurality of content, and the processing apparatus comprises a computerprogram adapted to: compare the various aspects of individual ones ofthe plurality of content to information contained in a user profile;select individual ones of the plurality of content for provision to auser, the selected individual ones of the plurality of contentcorrelating with the information of the user profile to at least apre-determined degree; and direct the display of the selected individualones of the plurality of content to the user. The act of selectingcomprises e.g., storing information relating to individual ones of theplurality of content, the information comprising: (i) contentidentification information, (ii) content location, and (iii) contentaccessing information. The system further comprises a user interface andthe act of directing the display of the selected individual ones of theplurality of content comprises: utilizing the stored information togenerate a list; displaying at least a portion of the list to a user onthe interface; enabling the user to select at least one entry from thelist; utilizing at least the content location and content accessinginformation to locate and access content associated with the selectedentry; and displaying the content to the user at the display. Entries onthe list are prioritized based at least in part on the act of comparingindividual ones of the plurality of content to the user profile. Theuser interface comprises for example a network-operated Internet site.

In another variant, the system further comprises a user interface andthe act of directing the display of the selected individual ones of theplurality of content comprises: providing a virtual channel accessibleby the user; utilizing the stored information to generate a list;displaying content associated with the selected individual ones of theplurality of content to the user at the virtual channel; and wherein thecontent is displayed in an order determined by the list.

In yet another variant, the user profile comprises pre-programmed userpreferences relating to various content aspects, and further comprises acomputer program adapted to modify the user profile based at least inpart on at least one user action by adding data regarding at least oneuser action to the user profile.

Data regarding the at least one user action is weighted depending on thetype of the at least one user action. For instance, the user actionscomprise at least one of a group consisting of. (i) viewing the content;(ii) navigating away from the content; (iii) recording the content; (iv)deleting the content; and (v) rejecting recommendations to view thecontent.

IN another variant, the computer program is further adapted to modifythe user profile based at least in part on user feedback, the userfeedback comprising instructions relating to the user's impression ofprovided content, and the modifying comprising adding data regarding theuser feedback to the user profile.

In a further variant, the plurality of content comprises programmingcontent and advertising content, and the processing apparatus comprisesa cable television network headend or switching hub server.

In yet another variant, the processing apparatus is locatedsubstantially on a consumer premises device, and the receiving apparatuscomprises a hard disk drive of the consumer premises device.

In a third aspect of the invention, an apparatus for delivery oftargeted content in a network is disclosed. In one embodiment, theapparatus comprises: a processor, the processor adapted to run at leastone software process thereon, the software process adapted to: receiveinformation related to a plurality of available content; compare theinformation relating to a plurality of available content to a standard(e.g., an individual one of the plurality of content); select individualones of the plurality of available content for provision to a user basedat least in part on the act of comparing; and deliver the selectedcontent to the user; a network interface in data communication with theprocessor; and a storage device in data communication with theprocessor.

In one variant, the apparatus comprises a consumer premises deviceselected from the group consisting of: (i) a settop box; (ii) a digitalvideo recorder; and (iii) a converged premises device.

In a second variant, the apparatus comprises a cable television networkheadend or switching hub server.

In a further variant, the information related to the plurality ofavailable content comprises metadata rendered at least partly in ahuman-readable form, and the comparison comprises: generating recordsregarding various aspects of each of the plurality of available content;and utilizing the records to find matches between the various aspects ofthe available content and various aspects of the standard. The standardcomprises e.g., a user-based profile, and wherein the storage device indata communication with the processor is adapted to store at least aportion of the user-based profile. The user-based profile is modifiedbased at least in part on user actions, the user actions comprising forexample at least one of: (i) viewing the content; (ii) entering theuser's impression of displayed content; (iii) navigating away from thecontent; (iv) recording the content; (v) deleting the content; and (vi)rejecting recommendations to view the content.

In another variant, the selected individual ones of the plurality ofavailable content are compiled into a selected content list, theselected content list having entries prioritized based at least in parton the results of the act of comparing. The delivery comprisesdisplaying the selected content list on a display device in datacommunication with the apparatus; and wherein the software process isfarther adapted to enable a user to choose one or more of the content inthe prioritized list for delivery.

Alternatively, the delivery comprises displaying content associated witheach of the selected content in the selected content list on a virtualchannel.

In another variant, the display device in data communication with theapparatus comprises an Internet site in data communication with thesoftware process.

In a fourth aspect of the invention, a method of using an electronicprogram guide in a content-based network is disclosed. In oneembodiment, the method comprises: generating a navigable schedule ofprograms broadcast within a predetermined period of time; providing ameans for navigating the schedule; and displaying a program streamsimultaneous to the generation and navigation of the electronic programguide.

In one variant, the predetermined period of time comprises an intervalof time extending from some past point in time to some future point intime.

In another variant, the method further comprises providing arepresentative icon for each program within the electronic programguide, wherein the representative icon for a particular program isdisplayed in the electronic program guide upon navigation through theprogram on the electronic program guide. For example, the representativeicon comprises a recognizable picture related to the program, and may befurther accompanied by a program description.

In a further variant, the electronic program guide is further adapted toprovide a user with at least one function selected from a groupconsisting of: (i) accessing more information regarding a selectedprogram; (ii) starting a program over from its beginning during the timeblock a program is set to broadcast; and (iii) setting an alert orreminder for at least one program having a broadcast time in the future.

In still another variant, the electronic program guide is furtheradapted to provide a user with at least one function selected from agroup consisting of: (i) rating content; (ii) viewing descriptions ofprevious episodes of content in a series; and (iii) viewing clips ofprevious episodes of content in a series.

In a further variant, the electronic program guide is further adapted todisplay a list of recommended content. The recommended content isgenerated based e.g., at least in part on a comparison of availablecontent to selected content, and/or a comparison of selected content toa user profile.

In another variant, the content broadcast within a predetermined periodof time further comprises content beating a threshold level ofsimilarity to the user profile.

In yet another variant, the method further comprises: displaying apersonal timeline; and selecting content from the navigable schedule forplacement in the personal timeline. Selecting content from the navigableschedule for placement in the personal timeline occurs via e.g., aninternet site in data communication with the headend.

In a further variant, the user is further provided with an aspect of theelectronic program guide showing a broadcast schedule for one day of onecontent source.

In still another variant, the display of the program stream occurs as abackground to the simultaneous generation and navigation of theelectronic program guide.

In a fifth aspect of the invention, a premises device adapted togenerate an electronic program guide is disclosed. In one embodiment,the device comprises: apparatus for generating a navigable schedule ofcontent; apparatus for navigating the navigable schedule of content;apparatus for displaying a representative icon for each program in theschedule; and apparatus for displaying as a background a programs streamover which the electronic program guide is displayed.

In one variant, the schedule of content comprises programs broadcastwithin a predetermined period of time, the predetermined period of timeincluding future, present, and past broadcasts.

In another variant, the representative icon comprises a recognizablepicture related to the program. The icon may farther be accompanied by aprogram description.

In a further variant, the electronic program guide is further adapted tocomprise at least one tool with a function selected from a groupconsisting of: (i) accessing more information regarding a selectedprogram; (ii) starting a program over from its beginning during the timeblock a program is set to broadcast; (iii) setting an alert or reminderfor at least one program having a broadcast time in the future; (iv)receiving a short program clip regarding a selected content; (v) ratingcontent; and (vi) viewing descriptions of previous episodes of contentin a sense.

In another variant, the device further comprises a recommendation toolthat performs a comparison of available content to a selected contentand displays a list of the results of the comparison. Alternatively, therecommendation tool performs a comparison of a selected content to auser profile; and displays a recommendation based on the results of thecomparison.

In a further variant, the navigable schedule of content comprises aone-day schedule of content from one content source.

Alternatively, the navigable schedule of content comprises contentbearing a threshold level of similarity to a user profile, and thedevice further comprises a personal timeline, wherein the user is ableto select content from the navigable schedule for placement in thepersonal timeline.

In yet another variant, the act of selecting content from the navigableschedule for placement in the personal timehine occurs via an Internetsite.

In a sixth aspect of the invention, a computer readable apparatus isdisclosed. In one embodiment, the apparatus comprises media adapted tocontain a computer program having a plurality of instructions, theplurality of instructions which, when executed: request a plurality ofavailable content; generate a navigable schedule of content; link eachcontent item in the schedule of content a plurality of informationregarding the content; link each content item in the schedule of contentto a plurality of tools operable by a user via a user interface; anddisplay the navigable schedule of content on top of a currentlydisplayed program stream, the display comprising a user interface.

In one variant, the plurality of available content comprises contentfrom a plurality of content sources.

In a second variant, the act of generating a navigable schedule ofcontent further comprises utilizing metadata relating to the content todetermine similarity to a prescribed set of criteria, and the computerprogram is further adapted to: display a personal timeline, the timelinecomprising a plurality of date and time place holders; enable the userto select content from the navigable schedule of content for placementinto the various date and time place holders; and display content fromthe personal timeline at the date and time given by the placeholders.

In another variant, the plurality of information comprises at least oneof a group consisting of: (i) an icon representative of the content;(ii) a text description of the content; (iii) content identificationinformation; (iv) content location information; and (v) contentaccessing information.

In a further variant, at least one of the plurality of tools operable bythe user via the user interface comprises at least one function selectedfrom a group consisting of. (i) accessing more information regarding aselected program; (ii) starting a program over from its beginning duringthe time block a program is set to broadcast; (iii) viewing a program byselection of the program during the time block the program is set tobroadcast; and (iv) setting an alert or reminder for at least oneprogram having a broadcast time in the future. In yet another variant,at least one of the plurality of tools operable by the user via the userinterface comprises at least one function selected from a groupconsisting of: (i) receiving a short program clip regarding a selectedcontent; (ii) rating content; (iii) viewing descriptions of previousepisodes of content in a series; and (iv) viewing clips of previousepisodes of content in a series.

In still a further van-ant, at least one of the plurality of toolsoperable by the user via the user interface comprises a recommendationtool. The recommendation tool performs e.g., a comparison of availablecontent to a selected content and displays a list of the results of thecomparison. Alternatively, the recommendation tool performs a comparisonof a selected content to a set of criteria; and displays arecommendation based on the results of the comparison.

In another variant, the navigable schedule of content comprises scheduleof content comprising a single day from one content source.

In another embodiment, the computer readable apparatus comprises aprogram which, when executed, generates a navigation toolbar interfacecomprising: a representative icon for each of a plurality of navigationtools; a means for allowing a user to navigate the plurality ofnavigation tools; and a program stream background over which thenavigation toolbar is displayed.

In one variant, the representative icon for each of a plurality ofnavigation tools comprises a picture representative of the function ofthe navigation tool, and a textual description of the navigation tool.

In another variant, the means for allowing a user to navigate theplurality of navigation tools further comprises an indicator adapted toindicate which of the navigation tools the user has selected.

In a yet another variant, at least one of the plurality of navigationtools comprises a search tool adapted to permit the user to searchavailable content based on user-entered key words.

In a further variant, at least one of the plurality of navigation toolscomprises a tool linking the user to a virtual channel whereinrecommended content is displayed.

In still another variant, at least one of the plurality of navigationtools comprises a tool linking the user to purchasable content.

In another variant, at least one of the plurality of navigation toolscomprises a tool linking the user to an electronic program guide.

In yet another variant, at least one of the plurality of navigationtools comprises a tool linking the user to the contents of a premisescontent storage device.

In a third embodiment, the computer readable apparatus comprises acomputer program which, when executed links individual ones of aplurality of navigation tools to the performance of a specific function;displays the plurality of navigation tools, the tools operable by a uservia a user interface; and carries out navigation functions upon a user'sselection of any one of the plurality of navigation tools via the userinterface.

In a seventh aspect of the invention, a method of generating a subset ofcontent elements having features consistent with a set of criteria isdisclosed. In one embodiment, the method comprises: retrieving metadataregarding content elements from a content source associated therewith;determining similarity of the content metadata to the set of criteria;placing content elements having a threshold level of similarity in alist, the list arranged by similarity level; displaying at least one ofthe content elements in the list; interpreting a user action; updatingthe set of criteria to reflect the user action; and determiningsimilarity of the content metadata to the updated set of criteria.

In an eighth aspect of the invention, a method of doing business in acontent-based network is disclosed. In one embodiment, the methodcomprises: requesting and receiving an ensemble of content elements froma plurality of content sources; providing a navigable electronic programguide of the ensemble of content elements; providing a mechanism for thecomparison of at least portions of the ensemble of content elements to aprescribed set of criteria; storing information regarding individualones of the ensemble of content elements; and displaying results of thecomparison to a user.

In one variant, the comparison comprises utilizing metadata transmittedwith and relating to the content to find matches to the set of criteria.

In another variant, the stored information regarding individual ones ofthe ensemble of content elements comprises at least contentidentification information, content location information, and contentaccessing information, and the act of providing the selected content tothe user comprises: displaying a portion of the content identificationinformation to a user display; providing a means for the selection ofindividual ones of the content; utilizing at least the content locationand content accessing information to locate and access the content; anddisplaying the content to the user at the user display.

In a further variant, the act of providing the selected content to theuser comprises: providing a virtual channel accessible by the user;providing a mechanism to utilize at least the content location andcontent accessing information to locate and access the content; anddisplaying the content to the user at the virtual channel. The contentis displayed in order dictated by the list.

Other features and advantages of the present invention will immediatelybe recognized by persons of ordinary skill in the art with reference tothe attached drawings and detailed description of exemplary embodimentsas given below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating an exemplary HFC cablenetwork configuration useful with the present invention.

FIG. 1 a is a functional block diagram illustrating one exemplary HFCcable network headend configuration useful with the present invention

FIG. 1 b is a functional block diagram illustrating one exemplary localservice node configuration useful with the present invention.

FIG. 1 c is a functional block diagram illustrating one exemplarybroadcast switched architecture (BSA) network useful with the presentinvention.

FIG. 2 a is a graphical illustration of an exemplary display imageproduced by a virtual personal media channel (VPMC) as it would appearon a user's display device according to one embodiment of the invention.

FIG. 2 b is a graphical illustration of an exemplary display image of aplaylist interface as it would appear on a user's display deviceaccording to one embodiment of the invention.

FIG. 2 c is a graphical illustration of an exemplary display image of asimilar content interface as it would appear on a user's display deviceaccording to one embodiment of the invention.

FIG. 2 d is a graphical illustration of an exemplary display image of an“explore” content interface as it would appear on a user's displaydevice according to one embodiment of the invention.

FIG. 2 e is a graphical illustration of an exemplary display image of apurchasable content interface as it would appear on a user's displaydevice according to one embodiment of the invention.

FIG. 2 f is a graphical illustration of an exemplary display image of apurchase confirmation interface as it would appear on a user's displaydevice according to one embodiment of the invention.

FIG. 3 is a graphical illustration of an exemplary display image of anavigation interface as it would appear on a user's display deviceaccording to one embodiment of the invention.

FIG. 4 a is a graphical illustration of an exemplary display image of acurrent broadcast schedule in an exemplary scheduling interface as itwould appear on a user's display device according to one embodiment ofthe invention.

FIG. 4 b is a graphical illustration of an exemplary display image of anelectronic programming guide (EPG) interface as it would appear on auser's display device according to one embodiment of the invention.

FIG. 4 c is a graphical illustration of an exemplary display image of anEPG showing exemplary future broadcast programming, as it would appearon a user's display device according to one embodiment of the invention.

FIG. 4 d is a graphical illustration of an exemplary display image of aprogram options menu for an exemplary program of the EPG as it wouldappear on a user's display device according to one embodiment of theinvention.

FIG. 4 e is a graphical illustration of an exemplary display image of anadditional information interface indicating information about a programassociated with the EPG, as it would appear on a user's display deviceaccording to one embodiment of the invention.

FIG. 4 f is a graphical illustration of an exemplary display image of aday viewer interface associated with the EPG as it would appear on auser's display device according to one embodiment of the invention.

FIG. 4 g is a graphical illustration of an exemplary display image ofpersonalized EPG as it would appear on a user's display device accordingto one embodiment of the invention.

FIG. 5 is a logical flow diagram illustrating one embodiment of themethod by which client software enables a user to manage user profileson a user's system.

FIG. 6 is a logical flow diagram illustrating one embodiment of themethod by which a recommendation engine compiles a playlist,recommendations and suggestions, etc., according to the invention.

FIG. 7 a is a block diagram illustrating an exemplary embodiment of acustomer premises device adapted to provide a personal media channelaccording to the invention.

FIG. 7 b is a block diagram illustrating an exemplary embodiment of aheadend entity adapted to provide a personal media channel according tothe invention.

FIG. 8 a is a functional block diagram of an exemplary MSO web server indata communication with an exemplary headend recommendation engineaccording to the present invention.

FIG. 8 b is a block diagram of an MSO web server in data communicationwith a client device recommendation engine according to one embodimentof the invention.

FIG. 8 c is a block diagram of an exemplary MSO web server in datacommunication with a web-based recommendation engine according toanother embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

Reference is now made to the drawings, wherein like numerals refer tolike parts throughout.

As used herein, the term “advertisement” and similar forms referswithout limitation to any audio, visual, promotion, message, orcommunication, whether for-profit or otherwise, that is perceptible by ahuman. Examples of advertisements include so-called “bumper”advertisements (advertisements inserted before or after a clientrequested program), “pause” advertisements (presented when a clientsends a pause control command to a video server or the like), oradditional and replacement advertisements.

As used herein, the term “application” refers generally to a unit ofexecutable software that implements a certain functionality or theme.The themes of applications vary broadly across any number of disciplinesand function (such as on demand content management, e-commercetransactions, brokerage transactions, home entertainment, calculatoretc.), and one application may have more than one theme. The unit ofexecutable software generally runs in a predetermined environment; forexample, the unit could comprise a downloadable Java Xlet™ that runswithin the JavaTV™ environment.

As used herein, the term “capacity” refers to, without limitation, theability of a network, portion of a network, or component thereof(whether individually or in concert) to provide a requested or neededservice, act or level of performance. One commonly used metric ofcapacity is so-called “bandwidth”, roughly akin to the size of thechannel or “pipe” capable of carrying content or other information.However, capacity limitations may be imposed by any number of factors,such as the unavailability of the content from a provider (e.g., studioor television network), delays imposed by transmission, filtering,transcoding, encryption/decryption, conditional access establishmentand/or download (e.g., according to a “DCAS” or downloadable conditionalaccess system paradigm), and so forth.

As used herein, the terms “client device” and “end user device” include,but are not limited to, set-top boxes (e.g., DSTBs), personal computers(PCs), and minicomputers, whether desktop, laptop, or otherwise, andmobile devices such as handheld computers, PDAs, personal media devices(PMDs), and smartphones.

As used herein, the term “codec” refers to an video, audio, or otherdata coding and/or decoding algorithm, process or apparatus including,without limitation, those of the MPEG (e.g., MPEG-1, MPEG-2, MPEG-4,etc.), Real (RealVideo, etc.), AC-3 (audio), DiVX, XViD/ViDX, WindowsMedia Video (e.g., WMV 7, 8, or 9), ATI Video codec, or VC-1 (SMPTEstandard 421M) families.

As used herein, the term “computer program” or “software” is meant toinclude any sequence or human or machine cognizable steps which performa function. Such program may be rendered in virtually any programminglanguage or environment including, for example, C/C++, Fortran, COBOL,PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML,VoXML), and the like, as well as object-oriented environments such asthe Common Object Request Broker Architecture (CORBA), Java™ (includingJ2ME, Java Beans, etc.), Binary Runtime Environment (e.g., BREW), andthe like.

As used herein, the term “conditional access” refers to any accesscontrol scheme, whether implemented in hardware, software, or firmware(or combinations thereof), including without limitation members of the“PowerKey™” family, NDS (including VideoGuard, mVideoGuard, etc.), DVB,and Motorola/General Instrument DigiCipher® family (DigiCipher II,etc.). These can be implemented using, for example, CA-specifichardware/software elements embedded in the device, the so-called“CableCARD™” plug-in security module access technology, a downloadableCA system (DCAS), or otherwise.

As used herein, the term “consideration” refers without limitation to apayment, incentive, option, forbearance of a debt, credit, or any otherthing or act which conveys monetary or any other type of value betweentwo or more parties, such as for example cash or credit/debit payments,credits to account, erasure of debt, exchanges, barters, options orrights of first refusal.

Similarly, the terms “Consumer Premises Equipment (CPE)” and “hostdevice” refer to any type of electronic equipment located within aconsumer's or user's premises and connected to a network. The term “hostdevice” refers generally to a terminal device that has access to digitaltelevision content via a satellite, cable, or terrestrial network. Thehost device functionality may be integrated into a digital television(DTV) set. The term “consumer premises equipment” (CPE) includes suchelectronic equipment such as set-top boxes, televisions, Digital VideoRecorders (DVR), gateway storage devices (Furnace), and ITV PersonalComputers.

As used herein, the term “display” means any type of device adapted todisplay information, including without limitation: CRTs, LCDs, TFTs,plasma displays, LEDs, incandescent and fluorescent devices. Displaydevices may also include less dynamic devices such as, for example,printers, e-ink devices, and the like.

As used herein, the term “DOCSIS” refers to any of tie existing orplanned variants of the Data Over Cable Services InterfaceSpecification, including for example DOCSIS versions 1.0, 1.1, 2.0 and3.0. DOCSIS (version 1.0) is a standard and protocol for internet accessusing a “digital” cable network. DOCSIS 1.1 is interoperable with DOCSIS1.0, and has data rate and latency guarantees (VoIP), as well asimproved security compared to DOCSIS 1.0. DOCSIS 2.0 is interoperablewith 1.0 and 1.1, yet provides a wider upstream band (6.4 MHz), as wellas new modulation formats including TDMA and CDMA. It also providessymmetric services (30 Mbps upstream).

As used herein, the term “DVR” (digital video recorder) refers generallyto any type of recording mechanism and/or software environment, locatedin the headend, the user premises or anywhere else, whereby content sentover a network can be recorded and selectively recalled. Such DVR may bededicated in nature, or part of a non-dedicated or multi-functionsystem.

As used herein, the term “headend” refers generally to a networkedsystem controlled by an operator (e.g., an MSO or multiple systemsoperator) that distributes programming to MSO clientele using clientdevices. Such programming may include literally any informationsource/receiver including, inter alia, free-to-air TV channels, pay TVchannels, interactive TV, and the Internet. DSTBs may literally take onany configuration, and can be retail devices meaning that consumers mayor may not obtain their DSTBs from the MSO exclusively. Accordingly, itis anticipated that MSO networks may have client devices from multiplevendors, and these client devices will have widely varying hardwarecapabilities. Multiple regional headends may be in the same or differentcities.

As used herein, the term “integrated circuit (IC)” refers to any type ofdevice having any level of integration (including without limitationULSI, VLSI, and LSI) and irrespective of process or base materials(including, without limitation Si, SiGe, CMOS and GaAs). ICs mayinclude, for example, memory devices (e.g., DRAM, SRAM, DDRAM,EEPROM/Flash, ROM), digital processors, SoC devices, FPGAs, ASICs, ADCs,DACs, transceivers, memory controllers, and other devices, as well asany combinations thereof.

As used herein, the terms “Internet” and “internet” are usedinterchangeably to refer to inter-networks including, withoutlimitation, the Internet.

As used herein, the term “memory” includes any type of integratedcircuit or other storage device adapted for storing digital dataincluding, without limitation, ROM. PROM, EEPROM, DRAM, SDRAM, DDR/2,DRAM, EDO/FPMS, RLDRAM, SRAM, “fash” memory (e.g., NAND/NOR), and PSRAM.

As used herein, the terms “microprocessor” and “digital processor” aremeant generally to include all types of digital processing devicesincluding, without limitation, digital signal processors (DSPs), reducedinstruction set computers (RISC), general-purpose (CISC) processors,microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable computefabrics (RCFs), array processors, secure microprocessors, andapplication-specific integrated circuits (ASICs). Such digitalprocessors may be contained on a single unitary IC die, or distributedacross multiple components.

As used herein, the terms “MSO” or “multi-systems operator” or “multiplesystems operator” refer to a cable, fiber to the home (FTTH), fiber tothe curb (FTTC), satellite, or terrestrial network provider havinginfrastructure required to deliver services including programming anddata over those mediums.

As used herein, the terms “network” and “bearer network” refer generallyto any type of telecommunications or data network including, withoutlimitation, hybrid fiber coax (HFC) networks, satellite networks, telconetworks, and data networks (including MANs, WANs, LANs, WLANs,internets, and intranets). Such networks or portions thereof may utilizeany one or more different topologies (e.g., ring, bus, star, loop,etc.), transmission media (e.g., wired/RF cable, RF wireless, millimeterwave, optical, etc.) and/or communications or networking protocols(e.g., SONET, DOCSIS, IEEE Std. 802.3, ATM, X.25, Frame Relay, 3GPP,3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).

As used herein, the terms “network agent” and “network entity” refers toany network entity (whether software, firmware, and/or hardware based)adapted to perform one or more specific purposes. For example, a networkagent or entity may comprise a computer program running in serverbelonging to a network operator, which is in communication with one ormore processes on a CPE or other device.

As used herein, the term “network interface” refers to any signal, data,or software interface with a component, network or process including,without limitation, those of the FireWire (e.g., FW400, FW800, etc.),USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (GigabitEthernet), 10-Gig-E, etc.), MoCA, Serial ATA (e.g., SATA, e-SATA,SATAII), Ultra-ATA/DMA, Coaxsys (e.g., TVnet™, radio frequency tuner(e.g., in-band or OOB, cable modem, etc.), WiFi (802.11a,b,g,n), WiMAX(802.16), PAN (802.15), or IrDA families.

As used herein, the term “node” refers without limitation to anylocation, functional entity, or component within a network.

As used herein, the term “on demand” or “OD” is meant to include anyservice that enables real, quasi-real time (e.g. “trick” mode delivery)or even non-real time delivery of content such as audio and/or videoprograms at any resolution, or data. Such content may be, for example,stored or temporarily cached on a server, or streamed directly from asource, and may be in response to a user-initiated event, serviceprofile or configuration, headend event, or otherwise.

As used herein, the term “QAM” refers to modulation schemes used forsending signals over cable networks. Such modulation scheme might useany constellation level (e.g. QPSK, QAM-16, QAM-64, QAM-256 etc.)depending on details of a cable network. A QAM may also refer to aphysical channel modulated according to the schemes.

As used herein, the term “server” refers to any computerized component,system or entity regardless of form which is adapted to provide data,files, applications, content, or other services to one or more otherdevices or entities on a computer network.

As used herein, the term “service”, “content”, “program” and “stream”are sometimes used synonymously to refer to a sequence of packetizeddata that is provided in what a subscriber may perceive as a service. A“service” (or “content”, or “stream”) in the former, specialized sensemay correspond to different types of services in the latter,non-technical sense. For example, a “service” in the specialized sensemay correspond to, among others, video broadcast, audio-only broadcast,pay-per-view, or video on demand. The perceivable content provided onsuch a “service” may be live, pre-recorded, delimited in time,undelimited in time, or of other descriptions. In some cases, a“service” in the specialized sense may correspond to what a subscriberwould perceive as a “channel” in traditional broadcast television.

As used herein, the term “service group” refers to either a group ofservice users (e.g. subscribers) or the resources shared by them in theform of entire cable RF signal, only the RF channels used to receive theservice or otherwise treated as a single logical unit by the network forresource assignment.

As used herein, the term “storage device” refers to without limitationcomputer hard drives, DVR device, memory, RAID devices or arrays,optical media (e.g., CD-ROMs, Laserdiscs, Blu-Ray, etc.), or any otherdevices or media capable of storing content or other information.

As used herein, the terms “user channel” and “program channel” are allgenerally synonymous with the concept of a perceived stream ofinformation. For example, a program/user channel might comprise “Channel3” which carries the content of a given network (e.g., NBC). This is tobe distinguished from a physical channel, which is used to physicallycarry and distribute the content, which may for example comprise one ormore QAMs within a given portion of the RF spectrum of a cable system.

As used herein, the term “user interface” refers to, without limitation,any visual, graphical, tactile, audible, sensory, or other means ofproviding information to and/or receiving information from a user orother entity including without limitation computer display screens andwindows, touch screens (including “multi-touch” Y units), mechanicalinterfaces such as keyboards, scanners, microphones and speakers, etc.

As used herein, the term “WiFi” refers to, without limitation, any ofthe variants of IEEE-Std. 802.11 or related standards including 802.11a/b/g/n.

As used herein, the term “Wireless” means any wireless signal, data,communication, or other interface including without limitation WiFi,Bluetooth, 3G, HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.),FIISS, DSSS, GSM, PAN/802.15, WiMAX (802.16), 802.20, narrowband/FDMA,OFDM, PCS/DCS, analog cellular, CDPD, satellite systems, millimeter waveor microwave systems, acoustic, and infrared (i.e., IrDA).

Overview

In one salient aspect, the invention discloses methods and apparatus for“fused” targeted content delivery in a content-based network, such as acable television or satellite network. Specifically,-the presentinvention provides a substantially user-friendly mechanism for viewingcontent compiled from various sources, including, inter alia, DVR,broadcast, VOD, Start Over, etc., and particularly that content selectedto align with a user's preferences, which is displayed as asubstantially continuous stream as part of a “virtual” user-basedchannel. In one embodiment, a user profile is constructed and targetedcontent gathered without requiring any user intervention whatsoever;e.g., based on a user's past or contemporaneous interactions withrespect to particular types of content. The “virtual channel” acts as acentralized interface for the user and their content selections andpreferences, as if the content relevant to a given user were in factstreamed over one program channel.

In another aspect, the compiled content is presented to the user in theform of a “playlist” from which a user may select desired content forviewing and/or recording. In one variant, a user is also presented withcontent having varying degrees or aspects of similarity to thatpresented in the “playlist” or elsewhere, including content listed inthe EPG. In another variant, the user's purchase of recommended (andnon-recommended) content is enabled directly from the aforementionedplaylist and/or the virtual channel.

In another aspect of the invention, the user is able to navigate betweenon-demand content, the virtual channel, an EPG, a search tool, and a DVRnavigation tool from a single user interface (e.g., on-screen display).

In yet another aspect of the invention, an improved EPG is provided. TheEPG gives a user the ability to view broadcast content across a broadtimeline (i.e., content previously aired, as well as that which iscurrently airing and that which will air in the future). The EPG mayincorporate various fiactions including allowing a user to start over,record, watch, receive more information about, catch up with, and ratethe content of interest. The EPG also includes a function wherein a usermay view an entire day's programming from one or more program channels.The user may also pull up recommended content from the EPG and can, inone embodiment, view a customized EPG showing a schedule solelycomprised of recommended content.

Another feature of the invention is the ability for content viewed tocontinue progressing (i.e., continue playing) in the background while auser navigates among the various associated interfaces available tothem.

In another aspect, client applications (e.g., those disposed on asubscriber's CPE and/or network servers) are utilized to compile theplaylist based on user-imputed as well as pre-programmed user profiles.Various feedback mechanisms may also be utilized to enable the clientapplication to “learn” from the user's activities in order to update theuser profile and generate more finely-tuned and cogent recommendations.Client applications may also be utilized to manage the seamlesspresentation of content on the virtual channel, and locate/flag variousscenes inside selected content for user viewing or editing.

Additionally, a user may establish a remote connection to theaforementioned client applications via an internet or LAN/MAN (such asthe Internet). Accordingly, the user may modify and create a fitureplaylist and may remotely establish programs to record and/or be erasedfrom an at home recording device (DVR, etc.).

Methods and apparatus for dynamic secondary content insertion (e.g.,recommendation and/or insertion of content such as movies,advertisements, etc. based upon the user profile) are also described, aswell as techniques for maintaining user anonymity (privacy) across thevarious delivery paths.

In yet another aspect, all or portions of the functionality of theclient applications discussed above may be implemented by anetwork-based entity (e.g., hub or headend server) adapted to performthese function for a variety of user profiles simultaneously.

Advantageously, the methods and apparatus of the invention are readilyimplemented using existing infrastructure, thereby obviating significantmodifications or expense in implementing such capabilities.

An operational and business rules “engine” useful in implementingvarious operational or business goals, and methods of doing business,are also disclosed.

Detailed Description of Exemplary Embodiments

Exemplary embodiments of the apparatus and methods of the presentinvention are now described in detail. While these exemplary embodimentsare described in the context of the aforementioned hybrid fiber coax(HFC) cable architecture having an multi-system operator (MSO), digitalnetworking capability, and plurality of client devices/CPE, the generalprinciples and advantages of the invention may be extended to othertypes of networks and architectures, whether broadband, narrowband,wired or wireless, content or data, or otherwise. Hence, the followingdescription is merely exemplary in nature. For example, the inventionmay be practiced over a fiber-to-the-home (FTTH) or fiber-to-the-curb(FTTC) system, or over a satellite or millimeter wave-based network.

It will also be appreciated that while described generally in thecontext of a network providing service to a consumer (i.e., home) enduser domain, the present invention may be readily adapted to other typesof environments including, e.g., commercial/enterprise, andgovernment/military applications. Myriad other applications arepossible.

Moreover, while the primary embodiments described herein describepredominantly the distribution of programs or similar content, othertypes of content including without limitation advertisements/promotions,instructional videos, or even data applications or files may likewise bedistributed using the techniques of the present invention.

It is also noted that while aspects of the invention are describedprimarily in the context of 6 MHz RF channels within the HFC network,the present invention is applicable to any frequency/bandwidth, such asfor example 8 MHz channels. Further, while generally described in termsof content delivery over discrete QAMs or RF channels, relevant portionsof the invention can be used in conjunction with multiplexing algorithmand wideband tuner apparatus such as that described in co-owned andco-pending U.S. patent application Ser. No. 11/013,671 filed Dec. 15,2004 and entitled “Method And Apparatus For Wideband Distribution OfContent”, incorporated herein by reference in its entirety.

Also, while certain aspects are described primarily in the context ofthe well-known Internet Protocol (described in, inter alia, RFC 791 and2460), it will be appreciated that the present invention may utilizeother types of protocols (and in fact bearer networks to include otherinternets and intranets) to implement the described functionality.

Bearer Network Architecture

FIG. 1 illustrates a typical generalized content-based networkconfiguration with which the personal media delivery methods andapparatus of the present invention may be used. The various componentsof the network 100 include (i) one or more data and applicationorigination points 102; (ii) one or more content sources 103, (iii) oneor more application distribution servers 104; (iv) one or more VODservers 105, and (v) consumer premises equipment (CPE) 106 Thedistribution server(s) 104, VOD servers 105 and CPE(s) 106 are connectedvia a bearer (e.g., HFC) network 101. A simple architecture comprisingone of each of the aforementioned components 102, 104, 105, 106 is shownin FIG. 1 for simplicity, although it will be recognized that comparablearchitectures with multiple origination points, distribution servers,VOD servers, and/or CPE devices (as well. as different networktopologies) may be utilized consistent with the invention. For example,the headend architecture of FIG. 1 a (described in greater detail below)may be used.

Furthermore, as discussed in greater detail subsequently herein, thegeneralized network of FIG. 1 also includes one or more interfaces toother (e.g., external) networks that can be used for the “personalized”delivery of content.

The data/application origination point 102 comprises any medium thatallows data and/or applications (such as a VOD-based application, gamingapplication, or “Watch TV” application) to be transferred to adistribution server 104. This can include for example a third party datasource, application vendor website, CD-ROM, external network interface,mass storage device (e.g., RAID system), etc. Such transference may beautomatic, initiated upon the occurrence of one or more specified events(such as the receipt of a request packet or ACK), performed manually, oraccomplished in any number of other modes readily recognized by those ofordinary skill.

The application distribution server 104 comprises a computer systemwhere such applications can enter the network system. Distributionservers are well known in the networking arts, and accordingly notdescribed further herein.

The VOD server 105 comprises a computer system where on demand contentcan be received from one or more of the aforementioned data sources 102and enter the network system. These servers may generate the contentlocally, or alternatively act as a gateway or intermediary from adistant source.

The CPE 106 includes any equipment in the “customers' premises” (orother locations, whether local or remote to the servers 104, 105) thatcan be accessed by a distribution server 104 or VOD server 105.Exemplary embodiments of a “converged” CPE (i.e., CD) of the inventionare also described subsequently herein.

Referring now to FIG. 1 a, one exemplary embodiment of headendarchitecture useful with the present invention is described. As shown inFIG. 1 a, the headend architecture 150 comprises typical headendcomponents and services including billing module 152, subscribermanagement system (SMS) and CPE configuration management module 154,cable-modem termination system (CMTS) and OOB system 156, as well asLAN(s) 158, 160 placing the various components in data communicationwith one another. It will be appreciated that while a bar or bus LANtopology is illustrated, any number of other arrangements as previouslyreferenced (e.g., ring, star, etc.) may be used consistent with theinvention. It will also be appreciated that the headend configurationdepicted in FIG. 1 a is high-level, conceptual architecture and thateach MSO may have multiple headends deployed using custom architectures.

The architecture 150 of FIG. 1 a further includes amultiplexer/encrypter/modulator (MEM) 162 coupled to the HFC network 101adapted to “condition” content for transmission over the network. Thedistribution servers 104 are coupled to the LAN 160, which providesaccess to the MEM 162 and network 101 via one or more file servers 170.The VOD servers 105 are coupled to the LAN 160 as well, although otherarchitectures may be employed (such as for example where the VOD serversare associated with a core switching device such as an 802.3z GigabitEthernet device). As previously described, information is carried acrossmultiple channels. Thus, the headend must be adapted to acquire theinformation for the carried channels from various sources. Typically,the channels being delivered from the headend 150 to the COPE 106(“downstream”) are multiplexed together in the headend and sent toneighborhood hubs (FIG. 1 b) via a variety of interposed networkcomponents.

It will also be recognized, however, that the multiplexing operation(s)need not necessarily occur at the headend 150 (e.g., in theaforementioned MEM 162). For example, in one variant, at least a portionof the multiplexing is conducted at a BSA switching node or hub (seediscussion of FIG. 1 c provided subsequently herein). As yet anotheralternative, a multi-location or multi-stage approach can be used, suchas that described in U.S. patent applications Ser. No.11/048,334,entitled “Apparatus and Methods for Multi-Stage Multiplexing in aNetwork” incorporated herein by reference in its entirety, whichdiscloses inter alia improved multiplexing apparatus and methods thatallow such systems to dynamically compensate for content (e.g.,advertisements, promotions, or other programs) that is inserted at adownstream network node such as a local hub, as well as “feed-back” and“feed-forward” mechanisms for transferring information betweenmultiplexing stages.

Content (e.g., audio, video, data, applications, etc.) is provided ineach downstream (in-band) channel associated with the relevant servicegroup. To communicate with the headend or intermediary node (e.g., hubserver), the CPE 106 may use the out-of-band (OOB) or DOCSIS channelsand associated protocols. The OCAP 1.0, 2.0, 3.0 (and subsequent)specification provides for exemplary networking protocols bothdownstream and upstream, although the invention is in no way limited tothese approaches.

It will also be recognized that the multiple servers (broadcast, VOD, orotherwise) can be used, and disposed at two or more different locationsif desired, such as being part of different server “farms”. Thesemultiple servers can be used to feed one service group, or alternativelydifferent service groups. In a simple architecture, a single server isused to feed one or more service groups. In another variant, multipleservers located at the same location are used to feed one or moreservice groups. In yet another variant, multiple servers disposed atdifferent location are used to feed one or more service groups.

As shown in FIG. 1 b, the network 101 of FIGS. 1 and 1 a comprises afiber/coax arrangement wherein the output of the MEM 162 of FIG. 1 a istransferred to the optical domain (such as via an optical transceiver177 at the headend or farther downstream). The optical domain signalsare then distributed to a fiber node 178, which farther distributes thesignals over a distribution network 180 to a plurality of localservicing nodes 182. This provides an effective 1:N expansion of thenetwork at the local service end.

“Switched” Networks

FIG. 1 c illustrates exemplary “switched” network architecture alsouseful with the present invention. While a so-called “broadcast switchedarchitecture” or BSA network is illustrated in this exemplaryembodiment, it will be recognized that the present invention is in noway limited to such architectures.

Switching architectures allow improved efficiency of bandwidth use forordinary digital broadcast programs. Ideally, the subscriber will beunaware of any difference between programs delivered using a switchednetwork and ordinary streaming broadcast delivery.

FIG. 1 c shows the implementation details of one exemplary embodiment ofthis broadcast switched network architecture. Specifically, the headend150 contains switched broadcast control and media path function 190,192; these element cooperating to control and feed, respectively,downstream or edge switching devices 194 at the hub site which are usedto selectively switch broadcast streams to various service groups. A BSAserver 196 is also typically disposed at the hub site, and implementsfunction related to switching and bandwidth conservation (in conjunctionwith a management entity 198 disposed at the headend). An opticaltransport ring 197 is utilized to distribute the dense wave-divisionmultiplexed (DWDM) optical signals to each hub in an efficient fashion.

Co-owned and co-pending U.S. patent application Ser. No. 09/956,688filed Sep. 20, 2001 and entitled “Technique For Effectively ProvidingProgramn Material In A Cable Television System”, incorporated herein byreference in its entirety, describes one exemplary broadcast switcheddigital architecture useful with the present invention, although it willbe recognized by those of ordinary skill that other approaches andarchitectures may be substituted.

In addition to “broadcast” content (e.g., video programming), thesystems of FIGS. 1 a-1 c can also deliver Internet data services usingthe Internet protocol (IP), although other protocols and transportmechanisms of the type well known in the digital communication art maybe substituted. One exemplary delivery paradigm comprises deliveringMPEG-based video content (e.g., “IPTV” or the like), with the videotransported to user PCs (or IP-based STBs) over the aforementionedDOCSIS channels comprising MPEG (or other video codec such as H.264 orAVC) over IP over MPEG. That is, the higher layer MPEG, or other encodedcontent is encapsulated using an IP protocol, which then utilizes anMPEG packetization of the type well known in the art for delivery overthe RF channels. In this fashion, a parallel delivery mode to the normalbroadcast delivery exists; i.e., delivery of video content both overtraditional downstream QAMs to the tuner of the user's STB or otherreceiver device for viewing on the television, and also as packetized IPdata over the DOCSIS QAMs to the user's PC or other IP-enabled devicevia the user's cable or other modem.

Referring again to FIG. 1 c, the IP packets associated with Internetservices are received by edge switch 194, and forwarded to the cablemodem termination system (CMTS) 199. The CMTS examines the packets, andforwards packets intended for the local network to the edge switch 194.Other packets are discarded or routed to another component.

The edge switch 194 forwards the packets receive from the CMTS 199 tothe QAM modulator 189, which transmits the packets on one or morephysical (QAM-modulated RF) channels to the CPEs (or CD). The IP packetsare typically transmitted on RF channels that are different that the RFchannels used for the broadcast video and audio programming, althoughthis is not a requirement. The CPE 106 are each configured to monitorthe particular assigned RF channel (such as via a port or socketID/address, or other such mechanism) for IP packets intended for thesubscriber premises/address that they serve.

Virtual Personal Media Channel (VPMC)

In the exemplary embodiment, the virtual personal media channel (VPMC)of the present invention somewhat resembles a conventional programchannel, at least from a user's perspective. However, unlike aconventional program channel, when a user tunes to the VPMC, they areprovided with a content stream that is specifically tailored to thatuser without the user having to physically enter preference or otherinformation. The VPMC advantageously provides a seamless stream ofprogramming pulled from various content sources, which is displayedaccording to a priority such that available content which a particularuser is most likely to enjoy will be presented first, and so forth.

Hence, the VPMC can be thought of as a personalized user-specificprogram channel (one exemplary implementation of which is the “MeChannel™” service provided by the Assignee hereof) which aggregatescontent from various sources to make for a richer, more enjoyable userviewing experience.

Various aspects of the VPMC are now described in detail.

Content Sources

As noted above, the exemplary configuration of the VPMC presents a userwith a highly tailored program stream containing content pulled fromvarious sources. Several of the sources from which content may bestreamed, and the manner in which they are pulled and placed in the VPMCstream, are discussed below.

Content presented to the user may in one case comprise contentcontemporaneously broadcast on a separate program channel. In otherwords, the VPMC may pull content from a separate program channel whileit is being broadcast on that other channel. Accordingly, both the VPMCand the original program channel will broadcast the contentsimultaneously (“simulcast”). A user, tuning to the VPMC, is benefitedinter alia in that the user will not have to bear the burden of havingto seek out the content on his/her own, such as from a guide (whetherelectronic, physical or otherwise), and tune to the program channelwhich the content is set to broadcast at the appropriate time (e.g., byselection at an EPG or by manually keying in the program channelnumber). Rather, the VPMC in effect “knows” that the user would preferto view that content, finds the content for the user, and displays thecontent at the time the broadcast of the content is set. In oneembodiment, the broadcast of contemporaneously broadcast programs on thevirtual channel is accomplished by well known simulcast techniques(i.e., actually delivering the content on two different programchannels, which may or may not be on the same downstream QAM.Alternatively, the VPMC may seamless link the virtual channel to theprogram channel on which the program is broadcast via an imperceptibleprogram channel switch; e.g., instructing the tuner to switch to therelevant QAM where the content is being delivered, and back to the VPMCat appropriate points. Alternative methods may also be utilized.

Delivery of content within a user's premises may be substantially IPbased. In other words, a gateway storage device (such as, for example, aFurnace) may be disposed within the premises so that content may betransported within the premises (e.g., to other devices within a homepremises). It is also appreciated that one or more devices within thehome premises may utilize Media Over Coax Alliance (MoCA) technology forproviding data over coax capability or other similar contentdistribution technology.

The content presented to the user may also comprise content previouslybroadcast on a separate program channel, which is either stored locally(e.g., on a user premises device such as a CD or DVR) or stored at aheadend entity. Thus, rather than displaying the content, the VPMCpresents the user with an opportunity to record the content locally(such as at the user's DVR) and view it at a later time, moreappropriate for the user. Alternatively, the system may be programmed toautomatically record content having a certain threshold level ofsimilarity to the user's preferences. At any time after the content hasbeen recorded, the content may be presented to the user. In oneembodiment, the virtual channel may display the recorded programautomatically when the recorded content has the highest level ofsimilarity to the user's preferences, or meets other such criteria. Inanother embodiment, the user may be given an option to watch therecorded program or watch a currently airing program (having a lowerlevel of similarity to the user's preferences).

Alternatively, the VPMC may present the user with broadcast content atany time after the broadcast has begun but before the broadcast hasended. In this model, the content is stored on a headend entity, such asat a VOD server 105 for storing “start-over” content as described inco-owned, co-pending U.S. Patent Publication No. 2005/0034171 to Benyaentitled “Technique for delivering programming content based on amodified network personal video recorder service” incorporated herein byreference in its entirety; and is accessible anytime during the periodset for broadcast of the program. In one embodiment, when a user tunesto the VPMC, the user will be presented with an opportunity to re-startthe broadcast of a program; e.g., one having the highest level ofsimilarity to his preferences. In an alternative embodiment, there-started program may be automatically presented upon tuning to theVPMC.

The VPMC may also present a user with VOD, subscription VOD (SVOD), FreeVOD (FVOD) or other on-demand content which is accessible through a VODserver or other related server Where applicable, this content may bepurchased directly via the VPMC user interface (described in greaterdetail subsequently herein). According to this model, the VPMC enables auser to order purchasable content which appears in the VPMC stream (ascontent the user may want to view) by establishing a connection to theaforementioned VOD server. The user, upon confirmation of the purchaseof the content, is then able to view the content on the VPMC in the samelogical “stream” as the other content the VPMC presents.

In another embodiment, the user's personal media content will appear inthe VPMC stream through the establishment of a connection to the user'sCPE/personal content storage device. For example, the user's CPE 106 maycomprise a converged premises device such as that described in co-ownedand co-pending U.S. patent application Ser. No. 11/378,129 filed Mar.16, 2006 and entitled “Methods and Apparatus for Centralized Content andData Delivery”, incorporated herein by reference in its entirety,although other configurations may be used consistent with the inventionwith equal success. Such converged premises devices afford asubstantially integrated management platform and gateway for multiplesources of content within the subscriber's premises, such as theirpremises LAN (and connected PCs), MoCA network, DVR, etc.

Thus, the VPMC compiles content from any source by establishing aconnection thereto, and adding appropriate content from that source tothe prioritized list of content to be displayed on the VPMC. A user,when tuned to the VPMC, will be presented with the content from thevarious sources according to the display hierarchy (e.g., in priorityorder). Hence, the user is no longer reqaired to search through thevarious program channels, program guides, DVR interface (list ofrecorded content), etc., in order to find content that the user wouldlike to view and/or record. Additionally, as discussed in further detailbelow, the VPMC “knows” the time that content will be available, andadjusts the priority accordingly to ensure that its user is given anopportunity to view or record finite duration content as it is broadcastor available.

Viewing Content on VPMC and Navigating the Priority Playlist

As will be discussed in greater detail below, the exemplaryconfiguration of the VPMC relies on a recommendation engine (e.g.,software process) to generate a priority playlist; i.e., a playlist ofcontent which is tailored to a user profile and is presented in priorityorder. The user may navigate through the prioritized content of thepriority playlist to view certain ones of the content in auser-specified order, or may allow the VPMC to display the priorityplaylist as a single content stream (i.e., the entirety of the playlistis displayed in priority order, uninterrupted).

In one embodiment, the user tunes to the VPMC (e.g., program channel No.XYZ) and views content as it appears (i.e., in priority order,uninterrupted). Accordingly, the user is presented with the firstpriority content first. As will be discussed in further detail below,the prioritization of content takes into account that certain content istime-sensitive, and thus the prioritization scheme adjusts accordingly.As the user views the first priority content in this embodiment, theprioritization of the remaining content may also dynamically change soas to incorporate any new content that becomes available according to abroadcast schedule, and to remove content that is no longer available asits broadcast has terminated. When the viewed content terminates (eithernaturally or upon a terminating user act), the priority playlist updatesitself to present the user with a new, first-priority content and/or anupdated priority playlist.

It is also appreciated that during viewing, the user will be able toapply so-called “trick mode” features to control their viewingexperience including for example pause, fastforward and rewind, whereavailable. Methods and apparatus for implementing such trick modefeatures within a content based network (such as via the lightweightstream control protocol or LSCP) are well known in the art, and thuswill not be described in further detail herein.

In another embodiment of the invention, when the user “tunes” to theVPMC (e.g., makes a selection via an on-screen display within anavigation program running on their CPE 106), the prioritized content ispresented as a series of clips or “trailers” which play from highest toleast priority, and cycle back through again until the user makes aselection or requests an alternative action.

Alternatively, when the user selects the VPMC and is presented with thefirst priority content of the priority playlist, the user may navigateaway from this content by selecting an option to “surf the VPMC” and/orto view the priority playlist so as to possibly select certain contentthere from.

As illustrated in the exemplary screenshot of FIG. 2 a , when a userjoins or selects the VPMC, he/she is presented with a surfing interface200 which provides date and time information 204, and lists the userprofile 202 (such as via a particular viewer's name). The user profile202 information assists the viewer in determining to which profile thepersonalized VPMC content relates. As will be discussed in greaterdetail below, in one embodiment, the viewer may at any time change to adifferent user profile 202 via a menu or similar VPMC user interface,and as such users can “share” or use proxy profiles from other users ifdesired. In one variant, these proxy profiles may form the basis of abusiness model; e.g., “watch the same content that your favoritecelebrity or sports personality watches on their VPMC . . . ” for anadditional fee).

The surfing interface 200 of FIG. 2 a provides the user withinstructions on how to begin surfing the VPMC (surfing instructions208), which include notification of which button(s) on the users remotecontrol or DSTB to press in order to commence surfing. For example, thesurfing instructions 208 may read “Press JUMP to surf”, etc.). Theillustrated surfing interface 200 also provides the user with programinformation 206 regarding the content the user is currently viewing;e.g., program name, duration, network, etc. As the user surfs within theVPMC, the user profile 202 and date and time information 204 will remainunaltered; however, the program information 206 changes as the userjumps to the second content, third content, etc. to display programinformation 206 related thereto. Surfing within the exemplary VPMC ofFIG. 2 a occurs in priority order; thus, if the user selects to surfwhile viewing the first priority content, he/she will be subsequentlyshown the second priority content, and so forth. Where the contentcomprises purchasable content such as a PPV or VOD offering, a trailer,thumbnail and/or textual description of the content (rather than thecontent itself) is displayed.

In an alternative embodiment, however, surfing of the VPMC may comprisesurfing trailers, thumbnails and/or descriptions of all of the availablecontent (whether purchasable or otherwise), such that a user will notview any content, even immediately available content, until the user hasaffirmatively selected to view that content.

As noted above, the user may navigate away from the first prioritycontent by selecting to view the playlist. FIG. 2 b illustrates anexemplary embodiment of the playlist interface 210. The playlistinterface 210 provides the user with date and time information 204 andlists the user profile 202. The playlist interface 210 also provides thepriority playlist 212 which is a navigable listing of any number n ofindividual programs or pieces of content 211 a , 211 b, . . . 211 n,listed in priority or other hierarchical order. Generation of thepriority playlist 212 will be discussed in greater detail subsequentlyherein; however, the exemplary playlist 212 is generally populated bycomparing one or more facets or attributes of a user's profile withthose of available content to find that content which is most similar orbest suited to that user's profile. The individual programs 211 a , 211b , . . . 211 n which comprise the playlist 212 are listed by title(text); it is appreciated however that icons or other display elementssuch as emotions, audible signals (e.g., audio clips when a user rollsover or selects the given display element) may be utilized in place ofor in addition to the aforementioned text.

The mechanism for indicating to the user his position within theplaylist interface 210 in the illustrated embodiment comprises ahighlighted bar 214, however, it is appreciated that other indicators214 including, inter alia, an icon, such as a dot, a star, increasedsize of wording, modulating the color or intensity of the text/icon,etc., may be utilized as well. The user's position within the playlist212, and thus the indicator 214 may be moved within the list by a userpressing “up” and “down” keys (or other keys which have a positionrelative one another that would indicate position on the list, such as,volume keys, numerical channel keys, etc.) on the remote control. As auser disposes the indicator 214 on an individual program 211 n withinthe list, program information 206 about that individual program 211 n isdisplayed such as in a balloon window or other display area; theexemplary playlist interface 210 of FIG. 2 b also displays the rank 216of the program 211 n on which the indicator 214 is resting, and athumbnail 218 associated therewith. The thumbnail 218 gives the viewer asmall picture (still or moving) or icon relating to the program 211 n .The content rank 216 notifies the user of the priority position of thehighlighted program 211 n with respect to the remainder of the playlist212. In the illustrated example, the indicated program 211 n is thefifth priority content with respect to the other twenty-four pieces ofcontent listed in the playlist 212 as displayed by the rank 216 “5 of25”. It will also be recognized that other information about thehighlighted program 211 n can be provided, such as a short audio clip,information as to why that content was matched to the user (i.e., “whyis this program on my playlist?”) so as to enable a subscriber to morefinely tune their playlist in the future, etc.

Similar Content Function

In one embodiment, at the playlist interface 210 of FIG. 2 b , a user isalso able to move the indicator 214 to the left or right of a selectedcontent via the appropriate buttons on the remote control (e.g., “left”or “right” buttons, or other buttons which have a position relative oneanother) to indicate that the user would like to find programmingsimilar to the selected content 211 n . In the embodiment of FIGS. 2 b-2 d , a user indicates their intent to locate similar content bypressing a button that moves to the left; however, other configurationsare also readily utilized.

Referring now to FIG. 2 c , one embodiment of the similar contentinterface 220 is shown. A user is made aware that he is navigatingwithin the similar content interface 220 by the magnification of theword “Similar” on the similar tool panel 222 as compared to its size inthe playlist interface 210; however, other mechanisms may be utilized toindicate that a user has selected the “similar” function including,inter alia, highlighting or an icon, such as a dot, a star, an arrow,modulating color or intensity, etc. It is also noted that various otherdescriptive terms may be substituted for the word “Similar” on the toolpanel 222, such as for example “Other matches”, “More like this”, and soforth.

The “similar” content interface 220 of FIG. 2 c also displays the userprofile 202 and date and time information 204. More significantly, thesimilar content interface 220 displays a similar content playlist 224comprised of several individual pieces of similar content or similarprograms 225 a , 225 b , 225 n . The similar content 225 a , 225 b , 225n is generated by a mechanism akin to that which derives the priorityplaylist 212. Accordingly, generation of the similar content playlist224 in the illustrated embodiment occurs by comparison of variousaspects of the selected content 211 n to corresponding aspects of theavailable content, although other criteria for selection may be used(such as where the “Similar” content is derived from content which alsomatches the user's profile and matches certain attributes of one or morecontent elements on the primary playlist, yet with a lower score (degreeof correlation), much as Internet search engine “more like this”functions operate.

The indicator 214, as above, may be moved within the similar playlist224 by using appropriate remote control buttons (such as “up” and“down”, “channel up” and “channel down”, or “volume up” and “volumedown” controls, dedicated function buttons, etc.) to select anindividual similar program 225 n . Program information 206, a thumbnail218 and rank 216 (where applicable) of the selected similar program 225n are displayed when the user places the visual indicator 214 on asimilar program 225 n.

Explore Content Function

At the exemplary playlist interface 210 of FIG. 2 b , a user is alsoable to move the indicator 214 to the left or right of a selectedcontent (via the appropriate buttons on the remote control, e.g., “left”or “right” buttons, or other buttons which have a position relative oneanother) to indicate that the user would like to explore programminggenerally related to the selected content 211 n . In the embodiment ofFIGS. 2 b -2 d , a user indicates intent to explore related content bypressing a button that moves to the right; however, other configurationsare also feasible.

Referring now to FIG. 2 d , the “Explore” content interface 230 isshown. As above, the word “Explore” (or other descriptor) is magnifiedin size to indicate the user's presence in the explore interface 230(other mechanisms may alternatively be utilized to indicate selection ofthe explore function). It is also noted that various other descriptiveterms or graphical mechanisms (e.g., icons) may be substituted for theword “Explore” in the tool panel 232. The Explore interface 230 alsodisplays an explored content playlist 234 comprised of severalindividual pieces of “explored” content or programs 235 a , 235 b , 235n. The explored content 235 a , 235 b , 235 n is generated by amechanism akin to that which derives the similar content playlist 234,discussed in greater detail below.

The indicator 214, as above, may be moved within the Explore playlist234 by using appropriate remote control buttons to select an individualexplored program 235 n . Program information 206, a thumbnail 218 andrank 216 (where applicable) of the selected explored program 235 n isautomatically displayed when the user disposes the indicator 214 on anexplored program 235 n.

As noted above, generation of the “Similar” and “Explore” contentplaylists 224, 234 occurs by examining one or more facets of the content(such as theme or genre, studio, primary actors, run time,rating/suitability for various audiences, geographic relation, etc.) andcomparing these to corresponding aspects of other available content. Inone embodiment, each evaluated facet is given a weight, and content withthe highest level of similarity to the selected content (e.g., thathighlighted on the primary content playlist and selected for the“Similar” or “Explore” functions) based on these evaluated aspects andweighing is presented. The aspects which are evaluated in the exemplaryembodiment differ between the Similar and Explore content functions,and/or these functions may impose a different weight to individual onesof the various aspects examined. In one embodiment, the Explore contentfunction delivers content which has a higher degree of similarity tocertain aspects of the selected content than that content which isdelivered via the aforementioned Similar function. In other words, theexemplary Explore function permits a more narrow and focused search ofavailable content than the similar content function. Alternatively, theExplore content function may be configured to deliver content havingless similarity to the selected content, thus providing a broader searchthan the Similar function.

It is also appreciated that, in another embodiment, the user may, uponselection of the “Explore” and/or “Similar” function be given anopportunity to select or enter the criteria by which similar or exploredcontent will be searched. For example, a user may select the Exploreand/or Similar menu option and be presented with a list of the variousaspects of the selected content. In the example of FIG. 2 d , if theuser selects Explore and/or Similar while the program The Late Show isselected, the user will be presented with various aspects of that showsuch as its genre, the actors or guests who will appear on the show, themusical guests, etc. (e.g., Talk Show, Matt Damon, etc.). Then, the usermay then select from among those aspects for one or more criteria whichwill be used to deliver a list of other “similar” or “explored” content.Likewise, the user may manually enter other criteria to search as well.Thus, if the user selects to explore and/or find similar content to MattDamon, the user will be presented with other programs, movies andcontent which also contain the aspect Matt Damon (e.g., as a guest,actor, director, subject of the content, etc.). Further, if the useralso manually enters the genre “movie” (entry would be manual becausethe genre “movie” may not show up as an aspect of the selected contentThe Late Show), the user will be presented with only movies featuringMatt Damon.

Purchasable Content

When a viewer tunes to the VPMC stream and/or navigates the playlist 212(FIG. 2 b ) and encounters content from sources which require additionalpayment for viewing (e.g., on demand or PPV content), the VPMC may beconfigured to access a trailer or preview of the content (or provideother descriptive information such as a textual abstract or thumbnailimages), and require prior authorization before the content isdelivered.

In one embodiment, where the user has viewed the first priority content,and the second priority content is purchasable content, the VPMC maycycle through the trailer or preview one or more times before proceedingon to the next priority content or, alternatively, may display thepriority list 212 (at which point the user must affirmatively select thepurchasable or other content).

As will be discussed in greater detail below, when a purchasable contenttrailer or other such descriptive information is presented, the displayelements 242, 244 of the purchasable content interface 240 are displayedon top of the trailer in such a way so as to not appreciably obscure ormask the user's continued viewing of the trailer/information. Oneembodiment of the purchasable content interface 240 is depicted in FIG.2 e . The instructional information 242 informs the user of theappropriate remote control buttons to press in order to begin a purchaseof the content. In the illustrated example, the instruction information242 indicates to the user that he must “Press SELECT to order”; however,other remote control buttons or keys may be employed as well. Thegeneral purchasing information 244 is a display of relevant informationfor the purchaser of content, the general purchasing information 244includes, inter alia, the title, cost or rental rate, and rental period.

Upon selection of content for purchase per the instructions 242 of FIG.2 e (i.e., after beginning purchase of content), the user is presentedwith a purchase confirmation interface 250 as depicted in FIG. 2 f . Atthis interface, the user is shown the program information 206 and athumbnail 218 corresponding to the program to be purchased. Aconfirmation menu 252 is also displayed. At the confirmation menu 252,the user manipulates the indicator 251 (in a manner similar to thatdescribed above with respect to the content indicator 214) to navigatebetween various menu 252 options including, inter alia, purchasing 254the content, returning 256 to a previous menu, and exiting 258 theconfirmation interface 250. If the user requests to purchase the contentselection of the purchase option 254 would begin display of the content;otherwise, the user will be returned to a previous interface. Displayand verification at two separate interfaces, i.e., the confirmationinterface 250 and the confirmation menu 252, assists the MSO inverifying that the user did, in fact, intend the purchase of theselected content.

Navigation Interface

Referring now to FIG. 3, an exemplary embodiment of a navigationinterface 300 is shown. The navigation interface 300 of FIG. 3 presentsto the user a navigation toolbar 302 containing various navigation tools304 including, inter alia, an on-demand tool 304 a , a VPMC (e.g., MeChannel™) tool 304 b , a program guide tool 304 c , a search tool 304 d, and a DVR navigation tool 304 n . Each of the tools 304 is representedby an icon; in the illustrated embodiment, the icon is a screenshot orthumbnail background, with a textual description of the function of thetool 304 given in the foreground; other configurations are alsoeffective.

The user's position on the navigation toolbar 302, in the embodiment ofFIG. 3, is indicated by highlighting 306 and enlarging the tool's icon;the tools 304 b , 304 d immediately adjacent to the selected tool 304 care also slightly enlarged; however, these are not highlighted. Thisconfiguration gives the user a sense that the list is navigable ineither direction relative to the selected tool 304 c . However, it isappreciated that other indicators 214, including, inter alia, otherapproaches such as the appearance and movement of an icon, modulatedcolor or intensity, etc., may be utilized as indicators as well. Theuser's position within the navigation toolbar 302, and thus thehighlighting indicator 306, is changed or moved within the list by theuser pressing “Up” and “down” keys (or other keys which have a positionrelative one another that are indicative of position on the list, suchas, volume keys, channel keys, etc.) on a remote control.

As a user places the highlight 306 on particular tool 304 c within thelist, additional information, lists, or interfaces may appear. In otherwords, indication (via the highlighting indicator 306) in the navigationinterface 300 triggers an abbreviated interface or information list toappear on the display for each of the navigation tools 304. Thereafter,the user may select the tool 304 (by pressing “enter”, “select”, orother appropriate remote control button) to view the fall, more detailedinterface or information.

For example, placing the highlight 306 on the on-demand tool 304 a ofthe navigation toolbar 302 presents the user with a navigable list (notshown), such as the playlist 212 described above with respect to FIG. 2b , of VOD, SVOD, Free VOD, and other content available on demand. If auser then selects the on-demand tool 304 a , the on-demand content maybe presented on a second interface (not shown) that displays icons orthumbnails, more detailed program information, pricing information etc.Alternatively, selection of the on-demand tool 304 a may trigger thepresentation of a series of trailers each having a purchasable contentinterface 240 and a confirmation interface 250 as discussed with respectto FIGS. 2 e -2 f above.

Placing the highlight 3 06 on the Me Channel (VPMC) tool 304 b presentsthe user with a priority playlist 212 similar to that discussed withrespect to FIG. 2 b above. Then, upon selection of the tool 304 b , theplaylist interface 210 of FIG. 2 b described above is displayed.

As illustrated in FIG. 3,. placing the highlight 306 on the programguide tool 304 c causes the current broadcast schedule 308 portion ofthe EPG to be displayed. Actual selection of the program guide tool 304c permits navigation within the current broadcast schedule 308 portion.Further navigation within the EPG is possible, and will be discussed ingreater detail below with respect to FIGS. 4 a -4 e.

In another example, placing the highlight 306 on the search tool 304 dof the navigation toolbar 302 provides the user with an interface (notshown) for searching various sources for content matching user-enteredor other criteria. At this interface, the user can enter a search for aparticular program, keyword, actor, genre, year, etc. The search enginewill then generate a playlist of content (from the various sourcesdiscussed above) which matches the criteria of that search.

Alternatively, when a user selects the search tool 304 d , a secondsearching interface (not shown) having more features may be provided. Atthis more detailed interface, a user may once again enter the user's ownsearch criteria, or may select suggested search criteria provided by thesearch engine. For example, the search engine may suggest the usersearch previous searches, common searches, use “auto-complete” functionof the type used on web browsers search inputs, etc., so as to save theuser having to enter the criteria manually each time. The search enginemay also suggest searching popular searches—the search engine may forexample determine popularity based on data collected from varioussources. For instance, the search engine may gather popularity data fromInternet-based databases and/or from data collected from other similarsearch engines located in other user's homes within the same MSO network(e.g., other MSO subscribers).

It will be recognized that the aforementioned functions, and potentiallyother aspects of the present invention, can be effectively implementedby having user/CPE-specific data. To the degree that the collection ofsearch engine or other data utilizes subscriber-specific or CPE-specificdata in its operation, such data can optionally be protected so as tomaintain subscriber privacy. For example, the MSO might use a mechanismto anonymously identify and associate the aforementioned data withparticular CPE (and hence individual subscriber accounts). In oneembodiment, subscriber identities are optionally protected by hashing orencryption of the tuner address or the like prior to logging andstorage. The stored “hashed” address or other parameter (e.g., TUNER ID,MAC address, etc.) and associated data are therefore not traceable to aparticular user account. The resulting obscured tuner address isrepeatable so the necessary tuning location and other tracking may beperformed while still maintaining complete subscriber anonymity.Alternatively, all or portions of the user-specific (albeit anonymous)information may be stripped off before storage and/or usage of the data.See, e.g., co-owned and co-pending U.S. patent application Ser. No.11/186,452 filed Jul. 20, 2005 and entitled “Method and Apparatus forBoundary-Based Network Operation”, which is incorporated herein byreference in its entirety, for exemplary implementation of such privacyprotection mechanisms. Accordingly, the search engine can evaluateindividual CPE 106 based on searching activity, and provide analysisbased on data gleaned from that particular CPE (i.e., on a per-CPEbasis), or groups of CPE, if desired.

Referring again to FIG. 3, placing the highlighting indicator 306 on theDVR navigation tool 304 n gives a list (not shown) of the contentavailable on the user's local storage device or DVR for immediateviewing. Selection of the DVR navigation tool 304 n gives a detailedinterface (not shown) having additional information and functionincluding, inter alia, information about upcoming scheduled recordingsand series recordings, and the ability to lock certain content (and/ordelete content).

Although the embodiment of FIG. 3 illustrates only the abovementionedtools 304 a , 304 b , 304 c , 304 d , 304 n , it is appreciated that aplurality of other tools and functions known in the art may beincorporated on the navigation toolbar 302 as well. For example, a toolgiving recommendations in the form of a “quick list” of top picks,and/or a tool giving the user an option to view most recently viewedcontent, or the results of recent searches, and/or a tool linking a userto games, a gaming console, or the Internet may be presented on thenavigation toolbar 302 as well. Myriad different functions andcombinations therefore can be implemented within the tool bar.

Improved Electronic Program Guide (EPG)

As discussed above and illustrated in FIG. 3, at the navigationalinterface 300, placing the highlighting indicator 306 on the programguide tool 304 c of the navigation toolbar 302 presents the user withthe current broadcast schedule 308 portion of the EPG.

Referring now to FIG. 4 a , actual selection of the program guide tool304 c permits navigation within the current broadcast schedule 308 atthe current schedule interface 400. The current broadcast schedule 308is a display of content presently being aired on all program channelswith minimal information about the content, including e.g., title and agraphic representation of the start and end time of each program. A usermay navigate within the current broadcast schedule 308 to view programsthat are currently broadcast on the various program channels by movingthe navigation indicator 402 up or down via corresponding buttons on aremote control. As is illustrated, placing the indicator on a particularprogram causes the network identifier 404 to which the program isassociated to be displayed and indicated (e.g., highlighted) as well. Asa user navigates the schedule 308 in either direction, the uppermost orlowermost displayed program is removed from the list and each of theremaining programs is moved up or down the list in relation to thecenter of the screen. A new program is also added to the bottom or topof the list depending on the direction of navigation.

FIG. 4 b illustrates the exemplary EPG interface 410 of the presentinvention. The EPG 410 of this embodiment comprises a user interface(GUI) adapted to display program information 206 and a thumbnail 218 ofthe programs the user navigates through. The EPG 410 displays a list ofbroadcast and other programming for every program channel along atimeline 412. The EPG 410 further comprises a network description column416. The network description section 416 is located adjacent to theschedule of programming, and comprises two columns giving the networkidentifier 404 and program channel number 418 for each of the contenttitles displayed in the EPG 410. As the user navigates within the EPG410, the channel 418 and network 404 information associated with thedisplayed content are given.

The exemplary EPG 410 of the present invention further comprisesdescriptive headers 414 which indicate to the user whether he/she isviewing a listing of content that: (i) was previously aired 414 a , (ii)is currently being aired 414 b , or (iii0 will air at some future time414 c . In the illustrated embodiment, the headers which indicate theuser's position relative to the current time are: “look back” 414 a ,“now” 414 b , and/or “look ahead” 414 c ; however, it is noted thatalternate text or mechanisms (such as icons) may be used in thedescriptive headers 414.

As shown in FIG. 4 c , the headers change position according to theuser's position within the timeline. In the exemplary screenshot of FIG.4 c , the user has navigated to content which is set to air in at afuture point in time relative the user's current time (as indicated inthe date and time information display 204 of FIG. 2 a ); thus, the “lookahead” header 414 c is prominently displayed. It is noted that a usermay employ appropriate buttons (such as, for example, up, down, channelup and down, volume up and down, etc.) on their remote control toperform the aforementioned navigation within the EPG 410.

The navigation indicator 402 allows the user to keep track of hismovement within the EPG 410. In the illustrated embodiment, theindicator 402 comprises a highlighted or different color indicator;nevertheless, other approaches to indication (e.g., icons, modulation ofcolor or intensity, etc.) are equally useful. The EPG also highlights,by showing in a separate color or shade, all of the content that isbroadcast simultaneously with the content indicated by the navigationindicator 402. It is appreciated that such shading and/or coloringmethods may also be implemented to indicate to the user which programswill be displayed on the VMPC and/or are, or will be, listed in thepriority playlist 212.

Program Options Menu

Referring now to FIG. 4 d , one embodiment of the program options menu420 according to the invention is shown. The program options menu 420appears when the user, at the EPG 410, selects a particular program. Aprogram is selected for example by pressing “select”, “enter” or otherappropriate button on the user's remote control. The program optionsmenu 420 gives a list of user actions 422 from which the user may select(in order to carry out that that user action 422) and be taken to theappropriate interface or display.

For example, FIG. 4 e illustrates an exemplary additional informationinterface 430, which is the interface to which a user is taken whenhe/she selects the “More Info” user action 422 d . The exemplaryadditional information interface 430 of FIG. 4 e displays more detailedprogram information 206, and an enlarged thumbnail image 218. It isappreciated that other information may also be displayed at theadditional information interface 430 including, inter alia, the displayof an estimated user rating to signify to a user whether (based onpreviously collected historical data) he/she would likely tend to enjoyor have interest in the content.

Referring again to FIG. 4 d , the actions 422 which the user mayinitiate at the program options menu 420 include, inter alia, “StartOver” 422 a , “Record” 422 b , “Watch” 422 c , “More Info” 422 d , and“Recommendations” 422 e in order to be taken to that user action 422interface or display; these actions 422 are now described in greaterdetail.

Selection of the “Start Over” user action 422 a takes the user to thebeginning of the program; thus, the user will be directed to a displayof the content.

The “Record” user action 422 b takes the user to the recordationinterface (not shown) which shows details of the recording, and confirmsthe user's intent to record the program.

When the user selects the “Watch” user action 422 c , the user is takento the program as it is being broadcast; this may be at the beginning,middle or end of the broadcast depending on what time the program beganand what time the user selects the action 422 c . Selection of the“Watch” user action 422 c for a program that has not yet broadcast maytake the user to the recordation interface discussed above, or to aninterface adapted to allow the user to set a reminder to notify him atsome point proximate the beginning of the broadcast.

In one embodiment, selecting the “Recommendations ” user action 422 esends the user to a list of recommended programming generated by arecommendation engine (similar to that used by the VPMC above).Accordingly, the program will suggest content similar to the highlightedcontent. It is appreciated that the programs suggested by the“Recommendations” user action 422 e may be filtered to include e.g.,only broadcast programs and/or only programs which are set to begin orhave already begun at the time the list is generated. In an alternativeembodiment, the “Recommendations” user action 422 e may give thepriority playlist 212 and/or take the user to the VPMC interface 210. Inyet another embodiment, the “Recommendations” user action 422 e may beadapted to use the recommendation engine to compare the contenthighlighted to the user profile and generate a descriptor of how likelythe user is to enjoy or have interest in the content. In other words,the user will be given an estimate of the likelihood the user will enjoythe content. The descriptor may be a certain number of icons (e.g., 3stars, etc.), a number within a scale (such as a 4 out of 10), or may betextual in nature (such as a fuzzy logic scheme—“highly likely toenjoy”, “likely to enjoy”, “not likely to enjoy” etc.).

Additional user actions 422, sending users to alternative user action422 interfaces or displays, are presented in the embodiment of FIG. 4 e, which demonstrates an expanded program options menu 420. Theadditional actions 422 include, inter alia, “Catch Up” 422 f , “RateThis” 422 g , “Close” 422 h and “Quick Clips” 422 i; each of theseactions 422 is now described in greater detail.

Selection of the “Catch Up” user action 422 f sends the user to acatch-up interface (not shown), at this interface, the user will be ableto read about and/or watch clips from previous episodes of the selectedprogram. Clips from the current episode may also be displayed so as to“catch up” to the point in the episode he/she is joining at some timeafter it has begun. This feature can also be utilized for serializedcontent; e.g., to catch a user up on prior episodes of the same programseries (e.g., what happened in the prior four episodes of “24”).

When the user selects the “Rate This” user action 422 g, the user issent to a rating interface (not shown). At this interface, the user willbe able to explicitly indicate whether this program based on genre,actor, etc.) is one that the user likes or dislikes, and/or othersubjective attributes. As will be discussed below, entry of informationat this interface will assist a recommender in finding programming thatis better suited to the user's profile and tastes.

Selecting the “Close” user action 422 h automatically takes the user outof the present menu (context)- Accordingly, in the illustratedembodiment, selecting “Close” will return the user to the EPG 410.

Finally, the “Quick Clips” user action 422 i , when selected, allowscustomers to access short-form video content, including withoutlimitation trailers and content produced for the Internet (e.g.,YouTube™ videos, etc.). The Quick Clips function of the illustratedembodiment uses an IP-based transport and software such as thatdescribed in co-owned, co-pending U.S. Pat. No. 7,174,126 to McElhatten,et al. issued Feb. 6, 2007 and entitled “Technique for effectivelyaccessing programming listing information in an entertainment deliverysystem” incorporated herein by reference in its entirety, to pushshort-form content created by the participating networks to a user'son-screen display. Online video content is provided from participatingprogrammers within minutes of its original web posting. This isfacilitated via a server package media gateway catcher which acquires,re-encodes and makes content available to users (e.g., by placing a linkto the content on an on-screen menu). For example, according to oneembodiment of the present invention, a user may select the Quick Clipsfeature and see a display of all available short-form content; the usermay then select to view any one of the available content elements.

It is appreciated that the user actions 422 discussed above with respectto FIGS. 4 d -4 e are representative of only some of the multitude ofuser actions 422 which may be presented in the program options menu 420and expanded program options menu 420; other actions 422 known in thetelevision arts may be included as well including, inter alia, settingprogram reminders or alerts.

Day Viewer

Referring to FIG. 4 f , the EPG 410 of the exemplary embodiment furtherprovides the user with the ability to view an entire day's schedule ofprogramming, and/or programming for several days at once for at leastone network, via a day viewer interface 440. As illustrated in FIG. 4 f, the day viewer interface 440 displays the user profile 202, and dateand time information 204. The interface 440 also provides a networkdescription column 416 having the network identifier 404 and programchannel number 418 highlighted to indicate for which network theschedule relates. The network 404 and program channel 418 highlightingindicator is similar, and may be moved in similar manner, to thosedescribed previously herein. The interface 440 displays a header 414 dsimilar to the aforementioned EPG 410 headers 414 a , 414 b , 414 cdiscussed previously with respect to FIG. 4 b.

In the illustrated embodiment, the day viewer interface 440 gives aschedule 442 a comprised of a list of content sorted by time 444 a andhaving a date header 446 a (e.g., “Tuesday 11/10”). This configurationenables a user to view an entire day's content for a particular channel.The exemplary day viewer interface 440 also shows a schedule 442 b whichis comprised of time sorted content list 444 b and date header 446b(e.g., “Wednesday 11/10”) In the illustrated embodiment, the schedules442 a , 442 b represent content for the highlighted program channel ontwo different days. However, it is appreciated that the second schedule442 b may comprise scheduling information for a second program channelfor the same or a different day than the first schedule 442 a.

The exemplary day viewer interface 440 also comprises a featured contentthumbnail display 448. The content thumbnails 218 placed in thethumbnail display 448 may comprise for example: (i) content which theselected network has chosen to feature, (ii) content which therecommender (e.g., recommendation engine) suggests from the selectednetwork, (iii) content advertisements or promotions from any network, ormay optionally be replaced by a second network description column (notshown) having the network identifier and program channel numberhighlighted to indicate for which network the second schedule 442 brelates.

Personal EPG

In another embodiment of the invention (illustrated in FIG. 4 g ), theprogram guide comprises a personalized EPG 450. Rather than beingpopulated by past, current, and future-aired content for every programchannel, the personalized EPG 450 can be populated only by recommendedcontent (generated by the below-described recommendation engine) and/oruser-selected content. As illustrated, program content meeting certainselection criteria (e.g., having a certain, pre-defined threshold ofsimilarity or relation to the user profile) will be presented in anEPG-like interface for user navigation. As shown, various levels ofshading and/or coloring or other visual mechanisms are used to indicatethe various levels of similarity the given content has to the user'sprofile. For example, the darkest shaded content 452 may representcontent which is most similar to the user profile, as the shadingbecomes lighter (as in 454, and 456), the relative similarity to theuser profile decreases. Other color and/or shading indicators, as wellas other visual or even audible indications (e.g., modulated or movingindications, different audible tones, etc.), may be used as well toconvey the relative ranking or similarity of the displayed contentelements.

It is noted that, in one embodiment, the recommendation engine maydisplay the priority playlist 212 as if it too were a program channel onthe timeline. According to this model, the EPG gives the user a distinctview of what program/content choices are available at any time along theselected timeline. This view can also be dynamically altered as userselections/deletions are received, programming passes the time of itsbroadcast, etc.

In the illustrated embodiment, the personalized EPS 450 also displays apersonal viewing playlist 458 which the user may “fill in” with contentthat the user would like to be streamed on the VPMC. The user may insertthe content via the exemplary UI by inserting the content within thetimeline using a series of remote control keys such as arrows and“enter” key (or “dragging and dropping” if remotely accessing using a PCor other such device, as described subsequently herein). Alternatively,selection of the content from the personalized EPG 450 timeline abovemay result in the placement of the content on the personal timeline ofthe viewing playlist 458. Other selection mechanisms (e.g., other remotecontrol buttons, textual commands, touch screen interfaces, etc.) may beused for these functions as well.

At various times on the timeline, there may be no adequate (e.g.,similar or “logically proximate” enough) content to display in thepersonalized EPG, these instances are indicated by empty, oralternatively patterned blocks 460 on the EPS. It is noted that at thesepoints in the timeline, “moveable” content may be inserted into thepersonalized EPG and/or the personal timeline. Moveable contentcomprises content which is not fixed in the time it may be displayed,for example, VOD content, previously recorded (i.e., DVR) content,content that is “start-over” capable in the selected timeframe, etc.Moveable content may be presented to a user as an option, similar tothose of the program options menu 420 discussed above.

The embodiment of FIG. 4 g also allows a user to place content whichoccurs simultaneously or overlaps in time into one or more recordingcaches for recording and subsequent viewing.

A further variant of this embodiment includes the ability of the user toview the personalized EPG 450 and/or personal timeline, as well asperform the abovementioned function via an Internet connection to anMSO-operated website (e.g., over a TCP/IP transport).

In an alternative embodiment, the EPG may be comprised of all contentfrom each program channel as discussed above, but has some identifyingfeature for that content which is recommended; e.g., highlighting,appearing in a different color, shading, arrows, icons, etc.

Continuous Background Content

As illustrated in FIGS. 2 a -2 f , 3, and 4 a -4 g , the various menu,playlists, tools, tool panels, information, instructions, schedules,columns etc. discussed above with respect to the user interfaces 200,210, 220, 230, 240, 250, 300, 400, 410, 430, 440, 450 (hereinaftercollectively referred to as “user interfaces 470”) are displayed as anoverlay to the program stream. In other words, the user interfaces 470of the present invention are adapted to be presented and navigated bythe user over top of the program or content the user was viewing whenaccessing the interface 470. Accordingly, while the user navigates theinterface 470, the audio and video feed of the program (or purchasablecontent trailer) viewed advantageously remains active and displayedfully in the screen. Unlike prior art systems, which require a user tonavigate away from the audio and video feed being viewed or whichminimize the video feed to a small portion of the screen when the userenters a navigable interface (for navigating program guide, DVRcontents, purchasable content, etc.), the present invention enables theuser to not miss a moment of the program in progress as the user surfsthe interfaces) 470. In the exemplary embodiment, this simultaneous“viewability” of the content and menus is accomplished by: (i) placementof certain menu display elements at certain locations on the displayscreen (e.g., within peripheral areas), and (ii) the use of largely“transparent” menu elements which allow the user to see through theseelements to view the underlying content.

In one variant, the degree of transparency is primarily coupled to theposition on the screen; i.e., more peripheral areas can tolerate agreater opacity, whereas those closer to the center of the display(where most of the interesting “action” is presumed to be, since as ageneral rule camera images attempt to maintain the primary subject(s) atleast somewhat centered), less opacity can be tolerated. Other schemesmay be applied as well. Moreover, the client software (e.g., thatoperating on the CPE 106) can include a user management interface (notshown) which allows the user to set the various attributes of their menuand display functionality according to their own preferences (e.g.,persistence or latency of the menus displayed, degree of opacity,brightness, contrast, placement on the display screen, etc.).

Profile Creation and Selection

FIG. 5 illustrates one embodiment of the general method 500 by which theclient software enables a user to manage user profiles on the user'ssystem. As previously discussed, the user is often presented with userprofile data 202 (see FIGS. 2 a -2 f , 3, and 4 a -4 f ) at the variousinterfaces 470. At step 502 of the method 500, the user navigates withinthe interfaces 470 to indicate and select (at step 504) the user profiledata 202; e.g., by pressing the appropriate buttons on the remotecontrol. Upon selection of the user profile data 202, a user profileinterface (step 506) will be displayed. At the user profile interface,the user is presented with a navigable list of the various user profilesassociated with the user's system.

It is appreciated that in one embodiment, among the list of userprofiles a user is presented with, one or more pre-programmed profileshaving descriptive headings, including, for example “Family TV”, “Kids”,“Night Time Television”, “Prime Time Viewer”, “Reality TV”, “Over 50”,“Teens”, etc. may be included. These “user” profiles are not necessarilyrepresentative of a particular user, but rather a category of user orgenre of interest to potentially many different users in the samepremises. These profiles may be generated using local data from theaffected users at the premises, or alternatively may be generated by theMSO or third party programmer based on demographic or other data (e.g.,a profile which people over 50 years of age would in general (onaverage) tend to enjoy.) Hence, the CPE 106 or other relevant networkentity can “pre-load” profiles at installation or first use of the CPE106, and these profiles can then be modified by the user (orautomatically by way of the client software update process) so as tofine-tune them to the particular premises. For instance, the generic ortemplate “Over 50” profile may not be very accurate for a particularhousehold whose adults over age 50 tend to watch programs oriented toyounger viewers.

In yet another alternative embodiment, each CPE 106 will automaticallyhave a certain number of profiles established which are indicative ofthe time of day or date that programs are being viewed. For example theprofiles may include: weekday mornings, weekday afternoons, weekdayprimetime, weekday late night, weekend morning, weekend afternoon,weekend evening, weekend late night, etc., given that most viewers willtend to watch certain types of programming at certain times of theday/week.

At the user profile interface, the user may select a user profile 506(i.e., log in as themselves or a different user), edit existing userprofiles 508, and/or create new user profiles 512. However, it isappreciated that in one embodiment, certain user profiles may havelimited editing capabilities since they are generated based on criterianot specific or personal to any given user.

As previously noted, at step 506, the user may select of any one of thelist of user profiles. Any interface 470 to which the user issubsequently directed will display, as user profile data 202, theprofile selected at step 506.

To make changes to an existing profile (either a previously createdprofile or a pre-set profile), the user selects at step 508, the optionto edit a profile. The client software then, at step 510, directs theuser to a profile editing interface. At the editing interface, the usermay navigate and change profile related data by designating contentfeatures or aspects the user does and does not prefer. For example, auser may indicate at the editing interface a preference for comedyprograms, or for certain actors, or programming from a particular era(e.g., the 1970's, etc.). The user may also change personal information(e.g., demographic information) which is utilized to target content topreferences. This information may include, inter alia, gender, age, zipcode, occupation, household income, marital status, hobbies, etc. Oncethe user has completed entering and/or editing the user preferences, theuser may save the information, and exit the profile editing interface.Upon exiting, the playlist generator or recommender will use the editedprofile (step 518) to generate recommendations, suggestions, playlists,etc.

To create a new profile, the user will select (at step 512) an option tocreate a new profile. In response, a new profile interface is displayedand the user will be prompted to enter a profile name (step 514). It isfurther appreciated that other methods of identifying a profile andrecognizing a user may be implemented, such as an image, a password, orother identifier. Moreover, if the profile will be accessed ortransmitted over the network, the user can be anonymously identified ifdesired via their CPE, and or the profile encrypted or hashed; see thediscussion presented above regarding preserving subscriber anonymity.

At step 516, the user may optionally enter other profile data including,inter alia, designating preferences for particular content features oraspects, as well as entering personal information (such as gender, age,zip code, occupation, household income, marital status, hobbies, etc.).The user may then save the entered information, and exit the new profileinterface. Then, per step 518, the playlist generator or recommenderuses the new profile to generate recommendations, suggestions andplaylists.

Recommendation Engine

Once a user profile has been established and/or when a user profile hasbeen modified, an updated profile is utilized to generate playlists,recommendations, suggestions, etc. by a recommendation engine. Therecommendation engine of the illustrated embodiment comprises clientsoftware such as, for example, that described in the aforementionedco-owned, co-pending U.S. patent application Ser. No. 12/______ filedcontemporaneously herewith on Mar. 30, 2009 and entitled “RecommendationApparatus and Methods”, which is incorporated herein by reference in itsentirety. Other types and configurations of apparatus may be used togenerate recommendations, however, including even via human-basedselection (e.g., a network operator or third party selectingrecommendations based on their knowledge of a particular demographic,historical viewing patterns, etc.)

In the exemplary embodiment, the recommendation engine and feedbackmechanisms comprise software located within a storage device (e.g.,program memory or HDD) of the client device 106, and adapted to run on adigital processor 714 (see FIG. 7 b below). Alternatively, a headendentity such as a personal media server 720 (see FIG. 7 a below) may beused as the platform for this software. So-called distributedapplications (DAs) of the type well known in the computer applicationarts may be used as well, such as where a client portion and serverportion of an application which communicate with one another areutilized on heterogeneous platforms (e.g., on the client device 106 anda network server disposed at the headend 150, a distribution hub, oreven a third party location, respectively).

The recommendation engine can also be integrated with other extantsoftware on the CPE or network device if desired, such as with a“navigator”, VOD Session Resource Manager (SRM), BSA switching process,etc.

FIG. 6 illustrates one exemplary embodiment of the method 600 by whichthe recommendation engine 601 compiles a playlist, recommendations, andsuggestions, etc. As shown, at step 602, the recommendation engine 601first retrieves metadata related to the pieces of content from thevarious content sources described above. Generally speaking, “metadata”comprises extra data not typically found in typical primary content (orat least not visible to the users of the network), such as that renderedin an XML or other such format. For each component of primary content(e.g., video/audio) or other content available from the sources, one ormore metadata files are associated that specify the relevant searchterms or primitives for that content. This metadata can be provided withthe content from its source or provider (e.g., a network studio orstation or the like), or alternatively added by the MSO. Alternatively,portions of the metadata can be added by multiple entities, and/orediting of another entity's metadata performed. Various permutations andmechanisms for generating, adding and editing metadata will berecognized by those of ordinary skill, and hence are not described ingreater detail herein.

The metadata may be transmitted with the content either as part thereofor as a separate file, or alternatively may be obtained by the enginevia another transport (e.g., from the same source via a differentnetwork interface), from an MSO repository (e.g., database or library),or from another source such as a third party website or server.Depending on the location of the recommendation engine 601, the CPEclient software can also be configured to query a headend or othernetwork process to generate a playlist for a given user profilebeforehand, so as to obviate the transmission of any content(downstream) until it is requested, thereby conserving resources andbandwidth.

Per step 604, the recommendation engine 601 then compares one or moreaspects of the metadata associated with an individual piece of contentto one or more attributes of a user profile; if the recommendationengine 601 determines (at step 606) that the content is not an adequatematch (based on established criteria, such as by the number and weightof matches within the various aspect of the content examined), then thecontent will not be selected (or discarded) per step 608.

However, if an adequate match is found, then per step 610, dataregarding the content will be stored. The PID (Program ID), access code,etc. are stored by the recommendation engine 601 and linked to thecontent title as presented in a playlist. By this mechanism, the clientsoftware of a user's CPE 106 will be able to locate and retrieve thecontent selected for display.

Next, at step 612, the recommendation engine 601 determines whetherthere are any pieces of content which have not yet been analyzed. Ifthere is remaining content, the recommendation engine 601 will beginagain at step 604. If not, the recommendation engine 601 will prioritizethe content that was selected for the playlist, and either display thestored content in the form of a playlist, etc. (step 614) oralternatively at least temporarily cease operation. As noted previously,the prioritization performed by the exemplary recommendation enginetakes into account the matching discussed above, as well as otherfactors including the duration of availability of the content, locationof the content, etc.

Per step 614, the stored data regarding content is displayed to the userin the form of the VPMC playlist, a recommendations list, a suggestionslist, or other appropriate textual or graphical presentation to the userat a suitable interface 470. Then, at step 616, the user takes someaction at the interface 470, which provides the recommendation engine601 with either data (e.g., positive or negative feedback (seediscussion of feedback mechanisms below), additional data to be storedsuch as preferences, etc.). At step 618, the data collected from theuser action is used to update the user profile as applicable. Then, theupdated profile is used at step 604 for comparison to the retrievedmetadata and subsequent generation of an updated list of recommendedcontent.

Input and Feedback Mechanisms

In one embodiment, the above-referenced content metadata is compared todata the engine has “learned” from the user via the client software(e.g., software running on the subscriber's CPE 106). The “learned data”may be derived from explicit and implicit user actions; i.e., may beaffirmatively submitted such as via a user entering data or selectinganswers to a questionnaire., or alternatively may be gleaned orextrapolated passively from analyzing user actions (or lack of actions).

One example of explicit user action comprises feedback relating to awatched content element. Thus, after a program ends, during a commercialbreak, or at the first instance of the user navigating away from thecontent, the user may be presented with an interface (not shown) whereinthe user provides explicit feedback, such as by instructing therecommendation engine 601 (e.g., “Find more like this”, “Don't recommendagain ever”, “Don't recommend for 6 months”, “Recommend again”, etc.),and/or wherein the user rates the content. Content may be rated byusing, inter alia, stars, “thumbs up”, a numbering system (e.g., 7 outof 10), a qualitative or fuzzy logic-based system (“poor”, “fair”,“good”), etc.

A user may also explicitly direct the software towards and away fromcertain content via the aforementioned profile editing interface. Asnoted above, the user selects the appropriate user profile, and is thenprompted to modify and add information which allows the software tobetter provide targeted content. For example, the editing interface mayallow the user to enter which channels the user likes and dislikes,which genres the user likes and dislikes, and so forth. A user may alsobe prompted to enter specific favorites, including, inter alia, favoriteactors, favorite shows, favorite periods in time (e.g., then 1970's,etc.), favorite themes (Christmas, Halloween, etc.).

Implicit user actions are derived from what users do with content; someuser actions may be positive, while others negative. For example viewingcontent to completion will be considered a positive action, while endingviewing of content will be considered a negative action, Each of thevarious actions a user may take will also be weighted such that certainactions more indicative of preference effect the user profile learneddata more than others which are less likely to indicate preference.

The implicitly and explicitly learned data is dynamically collected andutilized to update a user profile such that immediately after a useraction has occurred the recommendation engine 601 generates an updatedplaylist, recommendations, suggestions, etc. which are more tailored tothe user's profile.

It is appreciated that the recommendation engine 601 of the presentinvention may also be configured to utilize two or more profiles, or acomposite profile, as a source for generating playlists,recommendations, etc. For example, it may take into a count a user'sactivities during different parts of both weekdays and weekends.

Note that the aforementioned edits can be permanent, or on a limited(even one-time) basis. Using the “save” functionality previouslydescribed, a user can make permanent changes to a selected profile.Alternatively, however, the user may not wish to modify a certainprofile since e.g., they are only using it vicariously or temporarily,say for an evening, a weekend, etc. Accordingly, the changes andadditions to a profile can in one embodiment be made to have an“expiration date” such that the profile will revert back to its originalform after expiry of a given amount of time, upon occurrence of an event(e.g., when the CPE 106 is powered down next), etc. This approachadvantageously helps prevent a proliferation of profiles due tointermittent or temporary use by others.

Moreover, as previously noted, access to a profile for purposes ofediting or updating can be purposely limited or restricted, so as toprevent changes or corruption thereof. As part of this scheme, onlycertain types of data may be edited/updated as well.

Profile and Playlist Utilization

As discussed previously various aspects of each piece of content fromthe various available content sources are compared (using e.g., theassociated metadata for that content) to the user profile as updated by“learned data”. Content meeting one or more prescribed criteria; e.g.,showing a threshold level of similar aspects to those of the userprofile, are ranked more highly in the priority list (which is generatedby the recommendation engine 601). However, it is also appreciated thatthe recommendation engine 601 may take into account other attributes ofthe content including, inter alia, duration of availability, sourcelocation, any latency in obtaining the content, copyright or otherintellectual property considerations (e.g., “copy once” or DRMprotection), etc.

Business considerations may also factored into the selection of contentand population of the playlist (and the priority of content therein).For example, where two content elements are effectively equal inrelevance or rating for a given user profile (“don't care”),profitability or revenue information associated with the two choices canbe evaluated to determine which selection is likely to produce morerevenue or profit for the MSO or a third party (e.g., advertiser).Similarly, acquisition costs (e.g., RTA) for the various options mayalso be considered. Such “business rules” can also be applied such as tooutweigh or overturn recommendations by the engine; e.g., such as wherethe engine picks one piece of content over another based on matchingmetadata attributes to the user profile, yet the profitabilityconsiderations associated with the less-optimal content element cause itto be selected or prioritized over the more optimal match.

In another embodiment, the client software further comprises a “playlistmanager” process. The playlist manager module stores informationregarding the source of each piece of content on the playlist. Thus, theplaylist manager manages the location of where the content may be found,and keeps track of the appropriate action necessary to deliver thecontent to the user; i.e., maintains information regarding the asset ID,source ID, or other forms of identification that the underlyingoperating system middleware requires for tuning. When a user tunes tothe VPMC the playlist manager immediately directs the CPE 106 to pullthe appropriate content from the appropriate location for display. Ifviewing of the first priority content is terminated, the playlistmanager informs the CPE 106 of where and how to obtain the next contentscheduled in the playlist (this can also be performed in a “look-ahead”or anticipatory fashion so that the manager is not left short at anygiven time when the user terminates a given content element). Theplaylist manager also assists the CPE 106 in acquiring content which theuser selects by manually navigating a playlist.

It will be recognized by those of ordinary skill that myriad differentdevice and software architectures may be used consistent withabovementioned functions of the present invention, the foregoingdescription being merely exemplary.

Network Server Embodiment

Referring now to FIG. 7 a , an exemplary personal media server 700 isshown disposed at the network headend 150 as a separate entity (similarto the VOD servers 105 and application servers 104 co-locatedtherewith). It is also noted that, in an alternative embodiment, thepersonal media server 700 may be present at a non-headend network entitysuch as a switching or distribution hub, or even as part of athird-party server in communication with the network via aLAN/MAN/WAN/broadband interface.

The personal media server 700 shown in FIG. 7 a comprises storagedevice(s) 702, a digital processor(s) 704 and a plurality of interfaces706 for connection to the network 101 and thereby to the plurality ofCPE 106 connected thereto. The interfaces also permit use of thepersonal media server 700 with other network apparatus such as LANs,routers and other packet network devices, network management andprovisioning systems, local PCs, etc. Utilization of the personal mediaserver 700 with a PC or other entity is described below.

As illustrated in FIG. 7 a , the personal media server 700 fliercomprises a recommendation engine 601 application of the type previouslydiscussed herein running on its digital processor(s).

The storage device 702 of the exemplary illustrated personal mediaserver 700 is adapted to store a plurality of user profiles associatedwith individual ones of the plurality of CPE 106 to which the personalmedia server 720 is connected, via the network 101. A is approach alsocontemplates the case where a given premises or subscriber accountincludes a plurality of different user profiles, such as for differentfamily members, etc.

It is appreciated that any number of CPE 106 may utilize the samepersonal media server 700, and that several personal media server 700may be present at the headend or other location within the network toserve all of the CPE 106 logically connected thereto.

Other components which may be utilized within the server device 700include amplifiers, board level electronic components, as well as mediaprocessors and other specialized SoC or ASIC devices. Support forvarious processing layers and protocols (e.g., TCP/IP, 802.3, DHCP,SNMP, H.323/RTP/RTCP, VoIP, SD, LSCP, MPEG, etc.) may also be providedas required. Where the content server is also acting in a local networkcapacity (e.g., as a VOD or application server), an appropriateapplication is also disposed to run on the server module to provide afunctional interface for e.g., VOD session requests received from theclient devices 106 or other interposed entities. These additionalcomponents and functionalities are well known to those of ordinary skillin the cable and embedded system fields, and accordingly not describedfurther herein.

The server device 700 may take any number of physical forms, comprisingfor example one of a plurality of discrete modules or cards within alarger network headend or edge device of the type well known in the art.The server 700 may also comprise firmware, either alone or incombination with other hardware/software components such as thosepreviously described (e.g., disposed in the aforementioned edge device).Alternatively, the server module 700 may even include its own RF frontend (e.g., modulators, encryptors, etc.) or optical interface so as tointerface directly with various portions of the HFC network 101 ifdesired. Numerous other configurations may be used. The server device700 may also be integrated with other types of components (such assatellite transceivers, encoders/decoders, etc.) and form factors ifdesired.

It can also be appreciated that the personals server functionality ofthe present invention may be practiced using any configuration orcombination of hardware, firmware, or software, and may be disposedwithin one or any number of different physical or logical entities. Forexample, any required conditioning of the content before delivery (suchas the inclusion of watermarking or other data, encryption, generationof encryption key pairs and/or challenges, and so forth) may take theform of one or more computer programs running on a single devicedisposed within the network, such as at a headend, node, or hub.

As yet another example, portions of the content distributionfunctionality may be rendered as a dedicated or application specific IC(ASIC) or DSP having code running thereon. For example, a securityprocessor of the type well known in the art can be used to implementencryption algorithms on the delivered content, and/or to perform keypair generation and the like. Myriad different configurations forpracticing the invention will be recognized by those of ordinary skillin the network arts provided the present disclosure.

The server operation can also be masked or controlled by a “businessrules” engine” or other logical wrapper or layer as describedsubsequently herein.

In another embodiment (not shown), the recommendation engine 601 of thepresent invention is run on the processor of another headend entity,including, inter alia, a VOD server 105, an application server 104, orBSA hub server (FIG. 1 c), and utilizes storage associated therewith.

Client Device

Referring now to FIG. 7 b , one exemplary embodiment of a CPE 106 havingthe user interface and VPMC functionality previously described herein isdescribed. The improved CPE 106 of the present invention differs fromlegacy CPE 106 in that, inter alia, the CPE 106 of the current inventioncomprises a client software process (and optionally recommendationengine 601 as previously described—alternatively, the CPE 106 can relyon the recommendation engine 601 running on the aforementioned personalmedia server 700 as shown in FIG. 7 a ).

As shown in the simplified diagram of FIG. 7 b , the CPE 106 generallycomprises a computerized system (e.g., embedded DSTB, converged premisesdevice, etc.) having an RF tuner and front-end 712 for interface withthe delivery network 101, digital processor(s) 714, a storage device716, and a plurality of signal interfaces 718 (e.g., video/audiointerfaces, IEEE-1394 “FireWire”, USB, serial/parallel ports, wirelessair interfaces, etc.) for interfacing with other end-user apparatus suchas televisions, personal electronics, computers, WiFi or other networkhubs/routers, etc. Among the plurality of signal interfaces 718 is aninterface to a user display device 720 on which the graphical userinterfaces 470 discussed above are displayed to a user.

Other components which may be utilized within the device (deleted fromFIG. 7 b for simplicity) include various processing layers (e.g., DOCSISMAC or DAVIC OOB channel MPEG, etc.) as well as media processors andother specialized SoC or ASIC devices. A separate cable modem (e.g.,DOCSIS) tuner may also be included for receiving downstream cable modemsignals over the coaxial cable. The CPE 106 may also comprise anintegrated HD decoder, thereby relieving any connected monitors or otherdevices from the requirement of having such a decoder. These additionalcomponents and functionality are well known to those of ordinary skillin the cable and embedded system fields, and accordingly not describedfurther herein. Alternatively, the CPE 106 may comprise a “head-less”configuration, wherein the only user interaction with the device occursover a network connection; e.g., in a PVR-like fashion. It is alsoappreciated that although only one tuner 712 is depicted, otherembodiments of the present invention may comprise more than one tuner712 or a wideband or ultra-wideband tuner consistent with the presentinvention.

The digital processor(s) 714 of the CPE 106 of FIG. 7 b is also adaptedinclude a recommendation engine 601. Placement of the recommendationengine 601 on the individual CPE obviates much of the architectureassociated with the network-based variant of FIG. 7 a ; however, it alsonecessitates higher-bandwidth communication between the CPE 106 and aheadend process, the latter providing the engine 601 on the CPE withmetadata so as to enable it to generate recommendations based on e.g.,the aforementioned matching process. Hence, one embodiment of theinvention contemplates the use of a recommendation engine 601 in theform of a DA; i.e., having client and server portions, the lattercommunicating with the former to effect analysis and comparison of theuser profile with the content metadata.

In another embodiment, the recommendation engine 601 of the CPE 106 maycontain programs which allow interactivity with other client devices106. For example, a management entity (not shown) present on the CPE 106may be adapted to communicate and interact with that of another CPE 106.Examples of such programs include UPnP application, a program guide, andso on. The CPE may also operate in a “peer-to-peer” (P2P) type ofarchitecture, wherein processing assets (e.g., pre-processedrecommendations, profiles, etc.) can be shared between two or more CPEat the edge of the network, thereby obviating significant involvement bythe core (and attendant bandwidth usage). See, e.g., co-owned andco-pending U.S. patent application Ser. No. 11/726,095 entitled “Methodand Apparatus for Content Delivery and Replacement In a Network” filedMar. 20, 2007 and incorporated herein by reference in its entirety, forone exemplary approach to CPE P2P interactions and management that maybe used consistent with the present invention.

Similarly, the recommendation engine 601 and CPE 106 may be configuredsuch that a user's profile is stored locally (i.e., on the CPE or aproxy storage location), or alternatively at a network location (e.g.,on the personal server 700). Depending which approach is used, a usercan access the user's profile and associated playlists directly(locally), or over the network.

The CPE 106 bearing the client software (and optionally recommendationengine components) 601) may also comprise a multi-function or convergedpremises device, such as that described in co-owned and co-pending U.S.patent application Ser. No. 11/378,129 filed Mar. 16, 2006 previouslyincorporated herein. This disclosure describes a remotely manageablepremises device that, inter alia, acts as a centralized clientnetworking platform providing gateway services such as networkmanagement as well as traditional content and high-speed data deliveryfunctions. The device also acts as the shared internet (e.g., Internet)connection for all devices in the premises via a cable modem or othersuch interface; metadata associated with personal and DVR content suchas video, music and photos throughout the premises via may also beutilized as described above to incorporate that content into a playlist.Telephony services utilizing e.g., embedded multimedia terminal adapter(eMTA) and/or WiFi architectures may also be provided via the convergeddevice 106; these services can make use of the network operator'sindigenous VoIP or comparable telephony capability if desired, therebyproviding an even more unified service environment and a mechanism forthe various devices to communicate and interact with one another.

In another embodiment, a wired home network utilizing existing coaxialcable in the premises is created, by using e.g., an Ethernet-to-coaxialbridge technology based on the MoCA specification.

According to these alternate converged and networked CPE embodiments,existing devices and DVRs (i.e., those not having access to therecommendation engine 601) are permitted to connect and share contentwith a CPE 106. Hence, in one variant, the CPE 106 and itsrecommendation engine can “see” content disposed on the ancillarypremises devices (e.g., DVR), including descriptive information (title,runtime, rating, encoding format, etc.) and even metadata associatedwith the content if stored there.

Remote CPE, Playlist and DVR Control

In yet another embodiment, the CPE 106 is advantageously accessible viaany remote device with internetworking (e.g., Internet) capability. Therecommendation engine 601 of the CPE 106 b is adapted accordingly andthereby allows content and profiles associated therewith to be accessedby a user from outside the premises. Profiles present on the remote(e.g., mobile) device can also transmitted to the recommendation engine601 for comparison to metadata (which in one configuration requires thetransmission of the received profile data upstream to the server 700 orother network process). Exemplary devices including laptop computers,personal computers, cellular telephones, PDA and other hand-heldelectronic equipment can be used to remotely access the CPE andrecommendation engine.

Moreover, in the embodiment where the recommendation engine 601 isdisposed on a network entity or process (see e.g., FIG. 7 a ), theuser's remote device can either: (i) cause the CPE to transmit aselected profile upstream to the engine 601 (e.g., to the server 700),or (ii) transmit a user profile contained on the remote device to therecommendation engine/server 700, using the subscriber's CPE 106 as aproxy for the transfer. Information returned by the engine 601 (i.e.,recommendations, etc.) can then be transmitted back to the proxy CPE106, and then distributed to the remote device via e.g., an Internetconnection.

In yet another embodiment, a user may access his user profile and/or therecommended content via the Internet. According to this embodiment, auser logs into an MSO-operated website, and by providing relevantinformation, be linked to his CPE 106 and its associated recommendationengine 601 (or that of the network server 700 responsible for that CPE).

As illustrated in FIG. 8 a , in one variant, the MSO-operated website isrun from an MSO web server 802. The web server 802 is in datacommunication with the network 101 to which various CPE 106 and aheadend recommendation engine 601 are in communication. According tothis variant, the recommendation engine 601 periodically or whenrequested publishes a list of recommended content for one or moredesignated profiles to the Internet web site. The list is then madeaccessible via the web server 802 to remote Internet-capable (IC)devices 804. Exemplary IC devices 804 include, inter alia, personalcomputers, laptop computers, internet-ready handheld devices,telephones, PDAs, etc. When the user logs into the website, they canaccess the recommendation list, and even the content itself if the webserver is so configured.

Alternatively, illustrated in FIG. 8 b , the recommendation engine 601may be located within a user's CPE 106 as discussed above with respectto FIG. 7 b .

FIG. 8 c illustrates yet another configuration, wherein a recommendationengine 601 similar to that described above is placed on an Internet orother LAN/MAN/WAN website and is in data communication with (and/orco-located on) the MSO web server 802. Accordingly, the user's CPE 106publishes only the user profiles associated therewith. The particularlog-in information supplied to the website triggers applications runningon the web server 802 to send the correct user profile information tothe remote IC device 804.

The recommendation engine 601 may be linked to an MSO-operated websitein such a way so as to provide the user with the ability to scheduleprogramming to a personalized playlist for recording (i.e., recommendand select for recording programs which are recommended and broadcastwhile the user is not physically at his CPE 106). The website may alsooffer users the ability to remove recorded programs from the user's DVRso as to open up space for the recording of other programs.

It is further noted that at an MSO-operated website, a user may access afuture playlist. In other words, the user is able to view a playlist therecommendation engine 601 will generate at a particular date/time in thefuture. For example, a user can access the website at 12:00 pm and run aquery to find out what programming the recommendation engine 601 willrecommend at 8:30 pm, 9:00 pm, 9:30 pm, and 10:00 pm that night. Thesefuture playlists will be generated and displayed to the user, who maythen create a modified playlist of the content from the future playlistshe/she would like to view at those times.

Related and/or Targeted Secondary Content Delivery

In another embodiment, the present invention may advantageously utilizevarious methods for the delivery and/or selection of targeted or related“secondary” content occurring simultaneously with the delivery of aplaylist of recommended content.

One such method for the delivery of contextually-related “secondary”content (e.g., advertising messages, useful informational links, etc.)in association with the primary content selected by the user and/or bythe recommendation engine 601 is described in co-owned, co-pending U.S.patent application Ser. No. 11/198,620, filed Aug. 4, 2005 and entitled“Method and Apparatus for Context-Specific Content Delivery”, which isincorporated herein by reference in its entirety. Specifically,secondary content comprising advertising is selected at least in partbased on metadata associated with the primary content. The metadata isprovided by, e.g., the content originator or network operator, and issent to a third party network entity (e.g., advertising server) whichreturns contextually specific advertising matching the search terms. Inone variant, the search term is simply one or more keywords drawn fromthe metadata and used as an input to a search engine (such as theaforementioned recommendation engine 601). In another variant, moresophisticated analysis of the metadata is performed so as to ostensiblyreduce the number of irrelevant or marginally relevant “hits” returnedby the search engine/advertising server.

Another method enhanced of advertising selection and deliveryadvantageously coupled with the aforementioned delivery of targetedprimary content is described in co-owned, co-pending U.S. patentapplication Ser. No. 12/070,559, filed Feb. 19, 2008 and entitled“Method and Apparatus for Enhanced Advertising and Promotional Deliveryin a Network”, which is incorporated herein by reference in itsentirety. Specifically, that application discusses a substantiallyuser-friendly mechanism for viewing content and advertisements whichboth eliminates the guess-work and impression associated with skippingcommercials via manual fast-forwarding through recorded content, andpresents a viewer with options regarding the type and content ofadvertisements to view. Advertisers and network operators are alsoprovided with more avenues for reaching subscribers with advertising orpromotional content.

In one embodiment, the aforementioned network comprises a cabletelevision network, and the methods and apparatus enable a viewer toindividually preview and select the advertisements that they will viewduring real-time broadcast programming, as well as during “trick mode”operation in recorded program settings. In another embodiment, anadvertising controller (AC) is utilized to select choices on thesubscriber's advertising “playlist” based on, e.g., correlation betweenthe advertising metadata and metadata associated with the programmingcontent being viewed or recorded by the subscriber. This may likewise beaccomplished by the recommendation engine 601 in manner which utilizes auser profile to create an advertising playlist similar to the mannerdiscussed above. In another variant, advertising or commercial skippingmay be substantially frustrated by presenting a viewer with severalviewing options of potential interest, and/or imposing one or moreminimum viewing policies.

Advanced Content Editor Functions

In yet another embodiment of the present invention, the metadatacollected from the various content collected may include metadatarelated to various “flagged” points within the program. The “flagging”may be incorporated by the MSO, or by the content source prior todistribution; or alternatively, the user may insert flagging, asdiscussed in co-owned, co-pending U.S. patent application Ser. No.11/811,953 filed Jun. 11, 2007 and entitled “Methods and Apparatus forProviding Virtual Content Over a Network”, incorporated herein byreference in its entirety. This application describes providing theuser/owner with the capability to personalize content. As describedtherein, the personalization includes, inter alia, annotating orflagging particular portions of interest of their content for otherfamily members.

Accordingly, one embodiment of the invention provides the user with adownloadable software environment (e.g., application suite or tool) foruser content editing and annotation. This software permits the user tomake such annotations/personalizations to their content, which is storedin a file that is transmitted up to the headend, BSA hub site, etc. asappropriate. This file can be thought of as a layer atop the encodedcontent which functions much like metadata; it instructs the headend,BSA, etc. server to perform certain additional functions such asskipping to different frame or SI references within the content,inserting overlays or other graphical and/or audible mechanisms (e.g.,pop-up windows), etc when that particular user plays back theirpurchased content. This user editing environment is particularly welladapted to VOD or “PVR” delivery models, wherein the user can forexample pause the content playback; call up the editing environment toadd an annotation and “tag” it to that reference point in the content(wherein the editing environment transmits this annotation and referenceto the headend server process via, e.g., OOB message, to be used onsubsequent playbacks), and then un-pause the playback and continuewatching. Any number of user interface mechanisms well known to those ofordinary skill can be used for enabling the user's entry of annotations,personalizations, etc. including without limitation on-screen displays(OSDs), browsers, interactive remote controls, keyboards, mice,joysticks, touch-screens, speech recognition algorithms, and so forth.It is also noted, that the present invention may be used in conjunctionwith content stored at a user's CPE (e.g., DVR) as well.

Broadcast modes may also be annotated or personalized, such as bymarking locations within the content during viewing (e.g., using aremote control function that initiates a marking reference function thatcan store the mark points, such as for example by an SI reference orartifact within the content), and utilize these points later within theaforementioned software environment to add the user's personalizations.A screen capture or “snapshot” function can also be employed, such aswhere the screen display or contents of VRAM, frame buffer, etc. can becaptured at each marking point, and saved along with the markings, so asto refresh the user's recollection when conducting annotation at a latertime. These references and capture data can be saved locally (e.g., onthe user's CPE or PC), or at the headend 150 or hub-site server.

Alternatively, the software environment can associate one or morepredetermined annotations with certain portions of the content, such as,for example, “Slow part”, “Scary”, “Violent”, etc. These annotations canbe user-designated, set by the MSO, or otherwise as desired. Suchannotations can be useful, for example, to warn viewers of impendingthemes, situations, action, etc. which may be of particular interest,not suitable for children, etc.

These annotations may also be inserted by the content provider, ineffect extending the utility of the well known “rating system” used foralerting viewers as to the maturity, sexual content, etc. of thecontent.

Alternatively, utilization of the aforementioned personalizationsoftware may enable a user to create user-edited versions of contentwhich contain and eliminate those sections of a program which the userdoes not find suitable, is excessive, etc. The user may then opt toplace the edited version of the content into the priority playlist 212,or on the aforementioned personalized EPG.

Charitable Content

In yet another variant, the apparatus and methods disclosed above may beutilized to provide users with a “virtual charity channel” whichaggregates charity content from various sources into a virtual user orprogram channel. See, e.g., co-owned and co-pending U.S. patentapplication Ser. No. 12/393,981 entitled “MRTHODS AND APPARATUS FORPROVIDING CHARITABLE CONTENT AND RELATED FUNCTIONS” filed Feb. 26, 2009,and incorporated herein by reference in its entirety- Specifically, thevirtual charity channel would incorporate the methods and apparatusdiscussed above to create a channel for viewing content compiled fromvarious sources, including, inter alia, DVR, broadcast, VOD, Start Over,etc., and particularly that content selected to align with a user'scharitable preferences. In one embodiment, the user profile isconfigured to maintain data based on a user's past or contemporaneousinteractions with respect to particular types of charitable content, orprimary content which can be contextually related to charitable content.The compiled charitable content may, in one embodiment, be presented tothe user in the form of a “playlist” from which a user may selectdesired content for viewing and/or recording. The charitable content mayhave varying degrees or aspects of similarity to that presented in a“playlist” of recommended content or elsewhere, including collectivecontent listed in the EPG.

Business Methods and Considerations

The variety of different functions and content “shaping” optionsprovided by the VPMC and user interfaces of the present invention alsoafford several opportunities for new or enhanced business models.Various business-related aspects of the VPMC and improved EPG interfacespreviously discussed herein are now described in detail.

Specifically, in one embodiment, creation and access to a user's VPMC(and the personalized EPG) are provided as incentives or features aspart of the subscriber's subscription plan. For instance, premium or newsubscribers may be offered these features (either as a bundle, or invarious grades) as an incentive or “teaser” to continue theirsubscription or upgrade it. Alternatively, subscribers may pay a fee forthe additional capability.

Additionally, a “watch-along” function may also be marketed as anincentive or additional premium feature. Specifically, parents or othersmay have the capability to both monitor what their children may watchvia Internet access, and modify or edit the priority playlist 212 forthe VPMC. Accordingly, the parent or other user is given control andaccess, even while that person is not near to the location where theVPMC is viewed. This function enables the parent or other user not onlyto create a custom playlist given the recommendation engine 601suggestions, but also allows the user to prohibit specific users fromviewing material not on the VPMC, i.e., not “pre-approved”. Thisfunction may also be offered for a premium, or as part of an incentivepackage. This paradigm can also be readily extended into the enterpriseor business arenas, such as to monitor/control employee channel usage.

Similarly, the ability to access one's DVR and/or the VPMC andrecommendation engine 601 over an MSO operated website may be offered ata premium, or alternatively as a premium or new subscription orincentive feature.

Access to playlists generated for other individuals may also be used bythe MSO or content provider as a “value added” basis. For example, theMSO or content provider may have an arrangement with a celebrity wherebythe playlists generated for that celebrity are periodically distributedto user's in the MSO network, such as for an additional monthly fee. Inthis fashion, subscribers would be advised of what their favoritecelebrities might be watching at any given time. Similarly, differentuser profiles ranging from those based on one other individual, to thosebased on a large sampling of the subscriber base, or on a particulardemographic, genre, time period, etc., could be accessed by asubscriber. The playlist “package” afforded to a given subscriber mightbe based on subscription level for example; i.e., premium subscriberswould receive the widest range of profiles/playlists, while those atlower subscription levels would receive a smaller or more restrictedset.

The ability to create customized user profiles might also be tied toconsideration given by the subscriber. For example, premium subscribersmight be given an expansive set of profile creation and editing tools(thereby ostensibly providing more accurate profiles/playlists), whilethose at lower subscription levels might only be given a limited orrudimentary set of tools, or none at all.

As previously noted, delivery of content via the VPIC and/or thepersonalized EPG can also be effected over a TCP/IP-based or similartransport according to the methods and apparatus described in co-pendingand co-owned U.S. patent application Ser. No. 11/198,620 entitled“Method And Apparatus For Context-Specific Content Delivery” filed Aug.4, 2005, incorporated herein by reference in its entirety, whichdescribes, inter alia, the display and seamless transition of primaryand secondary content within, e.g., a unified display mechanism (window)in the context of computer-based access such as that described withrespect to FIG. 8 b or 8 c herein. This integration allows for yetadditional business or economic opportunities, since the contentdownloaded by the user can be coupled (seamlessly) to an advertisingserver or the like, the latter presenting the user with context-specificlinks or other information (secondary content) relating to the primarycontent (e.g., video) downloaded. The user then merely selects one ormore of these links, and is provided additional information relating tothe topic of interest (either the primary content or the links whichindividually may or may not be commercial in nature). These links can beaccessed, e.g., a traditional IP or similar mechanism of the typepreviously described herein, such as the well known WAP protocol andbrowser.

Other types of incentives may be used as the basis for a business modelas well. For example, an MSO might arrange to have an actor be “live” ona blog, VoIP telephony channel, webcam video, etc. which is madeaccessible only to donators to a particular charity (and/or of a certainlevel of donation). The donating user(s) might also be given thatactor's “playlist” for a period of time so that the user can watch thesame programs or content recommended to or selected by the actor.

Operations/Business Rules Engine

In another aspect of the invention, the aforementioned recommendationengine 601 (rendered as one or more computer programs disposed on e.g.,the server 700 and/or the CPE 106) includes a so-called “rules” engine.These rules may be fully integrated within various entities associatedwith the present invention, or may be associated with the recommendationengine 601 itself, and controlled via e.g., the aforementionedinterfaces 470. In effect, the rules engine comprises a supervisoryentity which monitors and selectively controls the contentrecommendation function at a higher level, so as to implement desiredoperational or business rules. The rules engine can be considered anoverlay of sorts to the recommendation and playlist/EPG populationalgorithms. For example, the recommendation engine 601 may make certainrecommendations or playlist collections based on the user profile(s) ofinterest and the metadata associated with particular content elements.However, these recommendations may not always be compatible withhigher-level business or operational goals, such as maximizingprofit/revenue, best use of network resources, or system reliability.Hence, when imposed, the business/operational rules can be used todynamically and transparently (or manually) control the operation of therecommendation engine 601. The rules may be, e.g., operational orbusiness-oriented in nature, or related to preservation of security, andmay also be applied selectively in terms of time of day, duration,specific local areas, or even at the individual premises or user level.

For example, as previously noted, where two content elements areeffectively equal in relevance or rating for a given user profile(“don't care”), profitability or revenue information associated with thetwo choices can be evaluated to determine which selection is likely toproduce more revenue or profit for the MSO or a third party (e.g.,advertiser). Similarly, acquisition costs (e.g., RTA) for the variousoptions may also be considered. Such rules can also be applied such asto outweigh or overturn recommendations by the engine.

Moreover, different aspects of the content, user, and network can beincluded within the recommendation engine so as to impose desiredoperational or business rules For example, the engine 601 might performa three-faceted analysis for generating recommendations: (i) matchingcontent metadata to a user profile, as discussed at length previouslyherein; (ii) evaluating the revenue, cost, and/or profitability aspectsof various alternatives; and (iii) evaluating operational considerations(such as latency for delivery of content, reliability, Quos of thedelivered content, user satisfaction, need for transcoding, etc.). Theresults of these three analyses might then be used as input to aweighted “Scoring” algorithm that generates a composite score for eachpiece of content; the playlist can then be assembled based simply onhighest-to-lowest score (or some other such scheme).

Another rule implemented by the rules engine may comprise providing avirtual channel (a VPMC) of recommended content only to certain classesof subscribers (e.g., those at a premium level of service, orsubscribers who have “opted-in” to receiving the channel), those in aparticular geographic or network service area, those requesting at aparticular time of day or day of the week, etc.

It will be recognized that while certain aspects of the invention aredescribed in terms of a specific sequence of steps of a method, thesedescriptions are only illustrative of the broader methods of theinvention, and may be modified as required by the particularapplication. Certain steps may be rendered unnecessary or optional undercertain circumstances. Additionally, certain steps or functionality maybe added to the disclosed embodiments, or the order of performance oftwo or more steps permuted. All such variations are considered to beencompassed within the invention disclosed and claimed herein.

While the above detailed description has shown, described, and pointedout novel features of the invention as applied to various embodiments,it will be understood that various omissions, substitutions, and changesin the form and details of the device or process illustrated may be madeby those skilled in the art without departing from the invention. Thisdescription is in no way meant to be limiting, but rather should betaken as illustrative of the general principles of the invention. Thescope of the invention should be determined with reference to theclaims.

1. In a content based network, a method of providing targeted to a user,comprising: receiving information regarding a plurality of content;comparing the information to a set of criteria; selecting individualones of said plurality of content for provision to said user based atleast in part on said act of comparing; and providing said selectedindividual ones of said plurality of content to said user; wherein saidcontent comprises content obtained from a plurality of differentsources.
 2. The method of claim 1, wherein said content sources areselected from the group consisting of: (i) an on demand content source;(ii) a broadcast program content source; (iii) a digital video recorder;(iv) a personal media content storage device; and (v) a pay-per viewcontent source.
 3. The method of claim 1, wherein said informationcomprises metadata transmitted with and relating to individual ones ofsaid plurality of content.
 4. The method of claim 1, wherein said set ofcriteria comprises a user profile having information about said userrelating to various aspects of said content, and said act of comparingcomprises examining aspects of individual ones of said plurality ofcontent for similarity to said various aspects in said user profile. 5.The method of claim 4, wherein said act of selecting individual ones ofsaid plurality of content for provision to said user based at least inpart on said act of comparing comprises storing information relating toindividual ones of said plurality of content having a threshold level ofsimilarity to said various aspects in said user profile.
 6. The methodof claim 5, further comprising using said stored information relating toindividual ones of said plurality of content to generate a list, saidlist comprising: content identification information; content location;and content accessing information; and wherein said list is prioritizedbased at least in part on said act of comparing said informationregarding said plurality of content to said set of criteria.
 7. Themethod of claim 6, wherein said act of providing said selected contentto said user comprises: displaying a portion of said contentidentification information to a user display; providing a mechanism forthe selection of individual ones of said content; utilizing at leastsaid content location and content accessing information to locate andaccess said content; and displaying said content to said user at saiduser display.
 8. The method of claim 5, wherein said act of providingsaid selected content to said user comprises: providing a virtualchannel accessible by said user; providing a mechanism to utilize atleast said content location and content accessing information to locateand access said content; and displaying said content to said user atsaid virtual channel; and wherein said content is displayed in orderdictated by said list.
 9. The method of claim 5, wherein at least one ofsaid content provided to said user comprises purchasable content; andwherein said act of providing said selected content to said usercomprises: providing said content identification information; allowingthe selection of said purchasable content; providing at least one userconfirmation for the purchase of said content; providing a mechanism toutilize at least said content location and content accessing informationto locate and access said content; and displaying said content to saiduser at said user display.
 10. The method of claim 4, further comprisingmodifying said user profile based at least in part on at least one useraction.
 11. The method of claim 10, wherein said at least one useraction is weighted depending on a classification thereof.
 12. The methodof claim 10, wherein said user actions comprise at least two of a groupconsisting of: (i) viewing said content; (ii) navigating away from saidcontent; (iii) recording said content; (iv) deleting said content; and(v) rejecting recommendations to view said content.
 13. The method ofclaim 4, further comprising modifying said user profile based at leastin part on user feedback, said user feedback comprising instructionsrelating to the user's impression of said provided content.
 14. Themethod of claim 1, wherein said plurality of content comprisesprogramming content and advertising content.
 15. For use in a contentbased network, an apparatus for delivery of targeted content,comprising: a processor, said processor adapted to run at least onesoftware process thereon, said software process adapted to: receiveinformation related to a plurality of available content; compare saidinformation relating to a plurality of available content to a standard;select individual ones of said plurality of available content forprovision to a user based at least in part on said act of comparing; anddeliver said selected content to said user; a network interface in datacommunication with said processor; and a storage device in datacommunication with said processor.
 16. The apparatus of claim 15,wherein said apparatus comprises a converged premises device (CPD). 17.The apparatus of claim 15, wherein said information related to saidplurality of available content comprises metadata rendered at leastpartly in a human-readable form.
 18. The apparatus of claim 15, whereinsaid comparison comprises: generating records regarding various aspectsof each of said plurality of available content; and utilizing saidrecords to find matches between said various aspects of said availablecontent and various aspects of said standard.
 19. The apparatus of claim18, wherein said standard comprises a user-based profile, and whereinsaid storage device in data communication with said processor is adaptedto store at least a portion of said user-based profile.
 20. Theapparatus of claim 19, wherein said user-based profile is modified basedat least in part on user actions, said user actions comprising at leastone of. (i) viewing said content; (ii) entering said user's impressionof displayed content; (iii) navigating away from said content; (iv)recording said content; (v) deleting said content; and (vi) rejectingrecommendations to view said content.
 21. The apparatus of claim 18,wherein said selected individual ones of said plurality of availablecontent are compiled into a selected content list, said selected contentlist having entries prioritized based at least in part on the results ofsaid act of comparing.
 22. The apparatus of claim 21, wherein saiddelivery comprises displaying said selected content list on a displaydevice in data communication with said apparatus; and wherein saidsoftware process is further adapted to enable a user to choose one ormore of said content in said prioritized list for delivery.
 23. Theapparatus of claim 21, wherein said delivery comprises displayingcontent associated with each of said selected content in said selectedcontent list on a virtual channel.
 24. The apparatus of claim 22,wherein said display device in data communication with said apparatuscomprises an Internet site in data communication with said softwareprocess.
 25. The apparatus of claim 23, wherein said standard comprisesan individual one of said plurality of content.
 26. In a content-basednetwork comprising a plurality of content sources, a method ofgenerating a subset of content elements having features consistent witha set of criteria, the method comprising: retrieving metadata regardingcontent elements from a content source associated therewith; determiningsimilarity of said content metadata to said set of criteria, placingcontent elements having a threshold level of similarity in a list, saidlist arranged by similarity level; displaying at least one of saidcontent elements in said list; interpreting a user action; updating saidset of criteria to reflect said user action; and determining similarityof said content metadata to said updated set of criteria.
 27. A methodof doing business in a content-based network comprising: receiving anensemble of content elements from a plurality of content sources;generating a navigable electronic program guide of said ensemble ofcontent elements; comparing at least portions of said ensemble ofcontent elements to a prescribed set of criteria; storing informationregarding individual ones of said ensemble of content elements; andproviding results of said comparison to a user.
 28. The method of claim27, wherein said act of comparing comprises utilizing metadatatransmitted with and relating to said ensemble of content elements tofind matches to said prescribed set of criteria and said storedinformation regarding individual ones of said ensemble of contentelements comprises at least content identification information, contentlocation information, and content accessing information.
 29. The methodof claim 28, wherein act of providing results of said comparison to saiduser comprises: providing at least a portion of said contentidentification information for display on a display device associatedwith said user, said display device providing a means for the selectionof individual ones of said content; utilizing at least said contentlocation and content accessing information to locate and access saidselected individual ones of said content; and providing said selectedindividual ones of said content to said display device.
 30. The methodof claim 29, wherein said act of providing said selected content to saiddisplay device comprises: providing a virtual channel accessible by saiduser; providing a mechanism to utilize at least said content locationand content accessing information to locate and access said content; anddisplaying said content to said user at said virtual channel; andwherein said content is displayed in order dictated by said list. 31.For use in a content-based network, a premises device adapted togenerate an electronic program guide comprising a plurality of availablecontent, said device comprising: apparatus for generating a navigableschedule of said available content; apparatus for navigating saidnavigable schedule of available content; apparatus for displaying arepresentative icon for each available content in said schedule; andapparatus for displaying as a background a programs stream over whichsaid electronic program guide is displayed; wherein said schedule ofavailable content comprises at least content broadcast within apredetermined period of time, said predetermined period of timeincluding fiture, present, and past broadcasts.
 32. The device of claim31, wherein said representative icon comprises a recognizable picturerelated to said content and is further accompanied by at least one of: atextual description of said content; and a video clip representative ofsaid content.
 33. The device of claim 31, wherein said electronicprogram guide is further adapted to comprise at least one tool with afunction selected from a group consisting of: (i) accessing moreinformation regarding a selected program; (ii) starting a program overfrom its beginning during the time block a program is set to broadcast;(iii) setting an alert or reminder for at least one program having abroadcast time in the future; (iv) receiving a short program clipregarding a selected content; (v) rating content; and (vi) viewingdescriptions of previous episodes of content in a series.
 34. The deviceof claim 31, further comprising a recommendation tool adapted to comparea selected one of said available content to at least one of: saidplurality of available content; and a user profile, wherein saidrecommendation tool is further adapted to display a recommendation basedon the results of said comparison.
 35. The device of claim 31, whereinsaid navigable schedule of available content comprises a one-dayschedule of content from a single content source.
 36. The device ofclaim 31, wherein said a navigable schedule of content comprises contentbearing a threshold level of similarity to a user profile.
 37. Thedevice of claim 36, further comprising a personal timeline, wherein saiduser is able to select content from said navigable schedule forplacement in said personal timeline.
 38. Computer readable apparatuscomprising media adapted to contain a computer program having aplurality of instructions, said plurality of instructions which, whenexecuted: request a plurality of available content from a plurality ofcontent sources; generate a navigable schedule of content; link eachcontent item in said schedule of content a plurality of informationregarding said content; link each content item in said schedule ofcontent to a plurality of tools operable by a user via a user interface;and display said navigable schedule of content on top of a currentlydisplayed program stream, said display comprising a user interface. 39.The computer readable apparatus of claim 38, wherein said act ofgenerating a navigable schedule of content further comprises utilizingmetadata relating to said content to determine similarity to aprescribed set of criteria. 40 The computer readable apparatus of claim39, wherein said computer program is further adapted to: display apersonal timeline, said timeline comprising a plurality of date and timeplace holders; enable said user to select content from said navigableschedule of content for placement into said various date and time placeholders; and display content from said personal timeline at the date andtime given by said placeholders.
 41. The computer readable apparatus ofclaim 38, wherein said plurality of information comprises at least oneof; (i) an icon representative of at least one of said plurality ofavailable content; (ii) a text description of at least one of saidplurality of available content; and iii) a video clip related to atleast one of said plurality of available content.
 42. The computerreadable apparatus of claim 38, wherein said plurality of informationcomprises at least one of a group consisting of: (i) identificationinformation relating to at least one of said plurality of availablecontent; (ii) information describing a location of at least one of saidplurality of available content; and (iii) information useful inaccessing at least one of said plurality of available content.
 43. Thecomputer readable apparatus of claim 38, wherein at least one of saidplurality of tools operable by said user via said user interfacecomprises at least one function selected from a group consisting of: (i)accessing more information regarding a selected one of said plurality ofavailable content; (ii) starting said selected content over from itsbeginning during the time block said content is set to broadcast; and(iii) viewing at least one of said plurality of available content byselecting said content during the time block said content is set tobroadcast.
 44. The computer readable apparatus of claim 38, wherein atleast one of said plurality of tools operable by said user via said userinterface comprises at least one function selected from a groupconsisting of: (i) setting an alert or reminder for at least one of saidplurality of available content having a broadcast time in the future;(ii) receiving a short program clip regarding said selected content;(iii) rating said selected content; (iv) viewing descriptions ofprevious episodes of said selected content; and (v) viewing at least aportion of previous episodes of said selected content.